Freedom251 › Test Data Generation Tools
Snowfakery

What Snowfakery is
Snowfakery generates synthetic data from YAML recipe files, including records linked across tables. Recipes can create fake names, addresses, text, URLs, random numbers, and other values using Faker-based functions, and can set how many related records to generate. It can write files in JSON, TXT, CSV, SQL, DOT, SVG, SVGZ, JPEG, and PostScript formats; some diagram formats require Graphviz. Snowfakery can also write to databases accessible through SQLAlchemy, including SQLite, and can generate Salesforce records when used through CumulusCI. Python applications can embed it through the generate_data function, and Python plugins and providers can add functions and Faker capabilities. Strict mode checks recipes before generation, while validate-only mode checks them without generating data. The tool is free and open source. For database output, it creates new tables rather than importing into existing tables, and generated columns are text. It always generates an ID for each record, so models must accommodate an ID field. Its repository is archived and read-only.
Who it suits
Snowfakery suits developers and data teams who need synthetic records, including related data, for files, databases, or Salesforce through CumulusCI. Its Python embedding and plugin options may suit projects that need to extend data generation.
What it does well
- Generates linked records from YAML recipes.
- Writes to multiple file formats.
- Can validate recipes without generating data.
- Can be embedded in Python applications.
- Free and open source.
What to know first
- Database output creates new tables only.
- Generated database columns are text.
- Models must accommodate generated ID fields.
- Repository is archived and read-only.
Limits
Snowfakery has no paid plans or usage limits stated. Database output creates new tables rather than importing into existing ones, and generated columns are text. SQLite is the only database included in its SQL dataset URL test suite.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Snowfakery | Open-source tool; no paid plans or usage limits stated | Free |
As snowfakery.readthedocs.io lists them, read 9 Oct 2026. The maker's own page has the final word.
Getting started
- Visit https://snowfakery.readthedocs.io/ for the documentation.
- Install Snowfakery with pipx if you are not using Salesforce.
- For Salesforce use, install CumulusCI.
- Create a YAML recipe and validate it with strict mode or validate-only mode.
- Choose file output, standard output, a SQLAlchemy-accessible database, or Salesforce through CumulusCI.
Verdict
Snowfakery offers recipe-based synthetic data generation with file, database, Salesforce, and Python integration options. Its database table and column constraints, along with the archived read-only repository, are important to weigh before adopting it.
Questions
How much does Snowfakery cost?
The Snowfakery plan costs nothing. It is open source, with no paid plans or usage limits stated.
What data formats can it generate?
File output includes JSON, TXT, CSV, SQL, DOT, SVG, SVGZ, JPEG, and PostScript. Some diagram formats require Graphviz.
Which databases can Snowfakery use?
It can write to databases accessible through SQLAlchemy, including SQLite. Its documentation describes PostgreSQL, MySQL/MariaDB, and Oracle connections; Salesforce generation is available through CumulusCI.
Can Snowfakery generate related records?
Yes. YAML recipes can create related records and control how many related objects are generated for each record.
Is Snowfakery self-hosted and open source?
Yes. It is a free, open-source, self-hosted tool. Its GitHub repository is archived and read-only.
How do I install Snowfakery?
The documentation instructs non-Salesforce users to install it with pipx. For Salesforce use, it recommends installing CumulusCI.
Facts from Snowfakery's own pages
- Database integration
- Snowfakery can write to databases accessible through SQLAlchemy, including SQLite, and its documentation describes connecting to databases such as PostgreSQL, MySQL/MariaDB, and Oracle. · snowfakery.readthedocs.io, 9 Oct 2026
- Database limitation
- For database output, Snowfakery currently creates new tables rather than importing data into existing tables, and generated columns are text. · snowfakery.readthedocs.io, 9 Oct 2026
- Database support
- Snowfakery builds on SQLAlchemy connectors, but its documentation says only SQLite is included in its test suite for SQL dataset URLs. · snowfakery.readthedocs.io, 9 Oct 2026
- Database testing
- Snowfakery is not proactively tested with every output database, and the documentation invites users to share their database experiences and report issues. · snowfakery.readthedocs.io, 9 Oct 2026
- Data generation
- Recipes can generate fake names, addresses, text, URLs, and other values using Faker-based functions. · snowfakery.readthedocs.io, 9 Oct 2026
- Extensibility
- Python plugins can add functions, and providers can add Faker capabilities to Snowfakery. · snowfakery.readthedocs.io, 9 Oct 2026
- File formats
- File-based outputs include JSON, TXT, CSV, SQL, DOT, SVG, SVGZ, JPEG, and PS PNG. · snowfakery.readthedocs.io, 9 Oct 2026
- Generated data
- Recipes can generate fake names, addresses, text, URLs, and other values, as well as random numbers. · snowfakery.readthedocs.io, 9 Oct 2026
- ID requirement
- Snowfakery always generates an ID for each record and requires models that can accommodate an ID field. · snowfakery.readthedocs.io, 9 Oct 2026
- Installation
- The documentation instructs non-Salesforce users to install Snowfakery with pipx and recommends installing CumulusCI for Salesforce use. · snowfakery.readthedocs.io, 9 Oct 2026
- Intended users
- The documentation describes installation paths for Salesforce users and for users who want to use Snowfakery without Salesforce. · snowfakery.readthedocs.io, 9 Oct 2026
- Output destinations
- It can write to standard output, databases accessible through SQLAlchemy, and Salesforce when used with CumulusCI. · snowfakery.readthedocs.io, 9 Oct 2026
- Output formats
- File-based output includes JSON, TXT, CSV, SQL, DOT, SVG, SVGZ, JPEG, and PostScript formats, with some diagram formats requiring Graphviz. · snowfakery.readthedocs.io, 9 Oct 2026
- Purpose
- Snowfakery generates unique, random fake data with relationships between tables from YAML recipe files. · snowfakery.readthedocs.io, 9 Oct 2026
- Python use
- Snowfakery can be embedded in Python applications through its generate_data function. · snowfakery.readthedocs.io, 9 Oct 2026
- Relationships
- Recipes can create related records and control how many related objects are generated for each record. · snowfakery.readthedocs.io, 9 Oct 2026
- Repository status
- The Snowfakery GitHub repository was archived by its owner on September 18, 2026, and is read-only. · github.com, 9 Oct 2026
- Salesforce integration
- When used through CumulusCI, Snowfakery can generate records in a Salesforce org. · snowfakery.readthedocs.io, 9 Oct 2026
- Security
- The documentation warns that recipes can access much of Python's power, load plugins, and call Python methods, so it advises against running untrusted recipes where they can access secure resources. · snowfakery.readthedocs.io, 9 Oct 2026
- Validation
- Strict mode validates a recipe before generation, and validate-only mode checks a recipe without generating data. · snowfakery.readthedocs.io, 9 Oct 2026
Where Snowfakery stands on Freedom251
- Test Data Generation Tools#13 of 28