For fake seed data for my database, the strongest matches are stympy/faker (Faker is a Ruby library that generates realistic fake), dius/java-faker (Java-faker is a synthetic data generator library that produces) and faker-js/faker (Faker provides a wide range of realistic fake data). fzaninotto/faker and chancejs/chancejs round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Tools and libraries that populate development databases with realistic, randomized, and structured fake test data.
Faker is a synthetic data generation library used to create realistic but fake information, such as names, addresses, and phone numbers, for software testing and database population. It functions as a tool for producing synthetic test data to fill development databases with records that simulate production environments. The library provides localized data generation, allowing synthetic information to be customized for specific geographic regions and language formats. It also includes a mechanism for unique value enforcement to prevent the repetition of generated data by tracking and rejecting
Faker is a Ruby library that generates realistic fake data such as names, addresses, and phone numbers, making it a solid fit for populating development databases, though it focuses on individual field generation rather than schema-based or relational seeding and lacks a CLI tool.
Java-faker is a synthetic data generator and mock data library for Java applications. It provides utilities to create randomized, believable fake records such as names and addresses to populate test environments and verify application logic without using real user information. The library specializes in localized data generation, producing synthetic content tailored to specific languages and regional formats. This allows for the verification of application accuracy across different global locales. The tool covers broad capabilities for automated testing mocking, including the generation of m
Java-faker is a synthetic data generator library that produces realistic fake records for Java applications, fitting the database seeding category, though it lacks schema-based generation, relational support, and a CLI tool.
Faker is a library for generating synthetic data and mock information to populate development and testing environments. It provides a structured way to create realistic values such as names, addresses, and dates, allowing developers to validate application logic and visualize user interfaces without relying on production data. The library distinguishes itself through its support for deterministic generation, which uses fixed seeds to ensure that data sequences remain identical across multiple test executions. It also features a modular architecture that separates generation logic into indepen
Faker provides a wide range of realistic fake data generators with deterministic seeding, making it an excellent fit for populating test databases, though it requires additional tooling for schema definition, relational data, and bulk insertion.
Faker is a PHP library for creating realistic synthetic data used for testing, prototyping, and populating database entities. It serves as a test data generator and localized mocking tool capable of producing synthetic names, addresses, and identifiers specific to various countries and languages. The library provides mechanisms to ensure data consistency and quality, including deterministic seeding to produce identical data sequences across executions and stateful uniqueness tracking to prevent duplicate values. It also supports probability-weighted optionality to simulate missing data and cu
Faker is a well-established PHP library for generating realistic synthetic data like names, addresses and identifiers, with support for deterministic seeding and localized data, directly addressing the need for populating databases during development and testing.
Chance is a JavaScript library for generating random data, designed to produce realistic test data for automated tests and prototypes. It uses a Mersenne Twister pseudo-random number generator that accepts an optional seed value, enabling reproducible sequences of random values across multiple runs. The library provides a wide range of generators for common data types, including random integers, floats, booleans, characters, strings, and dates, all with configurable ranges and character pools. It can generate realistic geographic data like addresses, as well as financial data such as credit c
Chance is a JavaScript library that generates realistic random data with deterministic seeding, making it suitable for populating test data, but it focuses on individual value generation rather than schema-based, relational, or multi-database seeding, and lacks a CLI tool.
Faker is a Python library designed to generate realistic synthetic data for software testing, database prototyping, and privacy-preserving anonymization. It provides a comprehensive suite of tools to create diverse information types, including personal identities, financial records, geographic locations, and technical system metadata, allowing developers to populate environments with mock data that mimics real-world structures. The library is built on a modular provider architecture that supports dynamic method dispatch, enabling users to extend functionality by registering custom data genera
Faker is a Python library for generating realistic fake data used in testing and database prototyping, but it lacks built-in schema-based relational generation, multi-database support, bulk seeding, and a CLI tool, so while it fits the category, it does not cover all the specific features you need.
Faker.js is a library for generating realistic fake data (names, addresses, etc.) commonly used in development and testing, which matches the core need for a fake data generator, though it lacks the schema-based generation, CLI, and direct database seeding features you listed.
TypeORM Seeding is a development utility designed to automate database population and schema management within TypeORM-based projects. It provides a framework for resetting database structures and injecting consistent data, facilitating predictable states for testing and local development environments. The tool distinguishes itself through a factory-based approach to data generation, allowing developers to define reusable templates that produce randomized entity records. By integrating directly with the existing database abstraction layer, it ensures that generated objects are persisted into
This TypeORM extension generates realistic test data via factories and a CLI, fitting the database seeding need well — it handles schema-based, relational, and deterministic seeding, though it is tied to the TypeORM ecosystem rather than being database-agnostic.
Knex is a programmatic SQL query builder for Node.js applications. It provides a unified interface for generating database statements and managing structural versioning through a schema migration tool. The project features a multi-dialect database layer that translates programmatic queries into specific syntax for relational databases including PostgreSQL, MySQL, SQLite3, and MSSQL. This allows for writing database logic that remains compatible across different systems. The system includes infrastructure for managing reusable database connection pools and handling relational transactions to
Knex is a SQL query builder and schema migration tool, not a fake data generator—it helps build and run database queries but does not generate realistic or schema-based test data itself.
Goose is a database schema versioning system and SQL migration tool designed for Go applications. It functions as a framework for tracking and applying incremental database changes through versioned SQL scripts, ensuring consistency across different environments. The project distinguishes itself by providing a build-time capability to exclude unused database drivers to optimize binary size and a filesystem abstraction that allows migration scripts to be bundled directly into a compiled executable. It also supports out-of-order execution logic to apply missing scripts that were created after a
Goose is a database migration tool for schema versioning, not a fake data generator, so it does not directly address the need to populate databases with realistic test data.
Knex is a multi-dialect database client that provides a programmatic SQL query builder, a connection pool manager, and a versioned schema migration tool. It enables programmatic database interaction across multiple SQL engines, including PostgreSQL, MySQL, SQLite3, SQL Server, CockroachDB, and Oracle. The project distinguishes itself through a fluent interface for constructing complex SQL statements and a dedicated framework for database seeding. It utilizes specialized dialects to translate generic query representations into database-specific syntax while maintaining a consistent API across
Knex is a SQL query builder and migration tool that includes a database seeding framework, but it does not generate realistic fake data itself—you would still need an external library (like Faker) to produce the fake content, so it is a helper for seeding rather than a dedicated data generator.
SQLModel is a type-safe object-relational mapping library for Python that integrates database schema definitions with data validation logic. By combining these two roles into a single class, it allows developers to manage relational data structures and enforce data integrity for web APIs simultaneously. The framework is built to support asynchronous database operations, enabling high-performance applications to execute queries and transactions without blocking the main execution thread. The library distinguishes itself by leveraging Python type hints to provide IDE autocompletion and compile-
SQLModel is an ORM with schema validation, not a fake data generator — while it can be used to model and interact with databases, it lacks the dedicated realistic data generation, bulk seeding, and CLI features this search requires.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| stympy/faker | 11.6K | Ruby | MIT | |
| dius/java-faker | 4.9K | Java | NOASSERTION | |
| faker-js/faker | 14.9K | TypeScript | other | |
| fzaninotto/faker | 26.7K | PHP | MIT | |
| chancejs/chancejs | 6.5K | JavaScript | MIT | |
| joke2k/faker | 19.3K | Python | MIT | |
| marak/faker.js | 0 | — | — | — |
| w3tecch/typeorm-seeding | 907 | TypeScript | MIT | |
| tgriesser/knex | 20.3K | JavaScript | MIT | |
| pressly/goose | 10.2K | Go | other |