Freedom251 › Test Data Generation Tools
Datafaker

What Datafaker is
Datafaker is a free, self-hosted library for generating synthetic data in Java, Kotlin, and Groovy projects. It is designed for test databases, stress tests, production-data anonymization, and sample data for project showcases. The project lists 263 providers across areas including base, entertainment, food, healthcare, sport, and videogames. Developers can define providers in code or load provider data from YAML files; YAML may suit larger custom datasets. Fake collections and streams support configurable lengths and null rates. Expressions can produce letters, digits, regular-expression output, CSV, or JSON. Documented formats include CSV, JSON, SQL, YAML, XML, Java Object, and TOML, although XML functionality is marked deprecated. Version 2.7.0 added an HTTP faker for status codes, headers, and user agents. Datafaker 2.x requires Java 17; the Java 8-based 1.x line is no longer maintained. It is distributed through Maven Central under Apache License 2.0.
Who it suits
Datafaker suits developers who need synthetic records inside self-hosted Java, Kotlin, or Groovy applications. It is useful for testing, anonymization, stress testing, and demonstration data.
What it does well
- 263 listed data providers
- Custom providers can be coded or loaded from YAML
- Supports collections and streams with null rates
- Generates CSV, JSON, SQL, YAML, and more
- Free under Apache License 2.0
What to know first
- Datafaker 2.x requires Java 17
- XML functionality is deprecated
- Datafaker 1.x is no longer maintained
- Weighted selection is limited to custom hardcoded providers
Getting started
- Open the Datafaker website and getting started documentation.
- Choose the 2.x line for Java 17 or use the recommended 1.x line for older Java versions.
- Add the Maven Central dependency using the Maven, Gradle, or Ivy example.
- Generate data with built-in providers, or create a custom provider in code or load provider data from YAML.
Verdict
Datafaker offers broad synthetic-data generation with extensive provider and format options. Check the Java requirement and deprecated XML support before choosing a version.
Questions
Is Datafaker free?
Yes. Datafaker has a free plan.
Which platforms does Datafaker support?
It is self-hosted and is described for Java, Kotlin, and Groovy projects.
What Java version does Datafaker require?
Datafaker 2.x targets Java 17. The project recommends 1.x for older Java versions, but 1.x is no longer maintained.
What output formats does Datafaker support?
Listed formats include CSV, JSON, SQL, YAML, XML, Java Object, and TOML. XML functionality is labeled deprecated.
Can developers add custom data?
Yes. Custom providers can be created in code or loaded from YAML files.
What license does Datafaker use?
Datafaker is licensed under Apache License 2.0.
Facts from Datafaker's own pages
- Build tools
- The project README provides dependency examples for Maven and Gradle. · github.com, 8 Oct 2026
- Current release
- The getting started page identifies version 2.7.0 as the latest version. · datafaker.net, 8 Oct 2026
- Custom data
- Users can create custom providers in code or load provider data from YAML files. · datafaker.net, 8 Oct 2026
- Customization
- The README links instructions for adding custom providers to an application. · github.com, 8 Oct 2026
- Data providers
- The site lists 263 data providers across base, entertainment, food, healthcare, sport, and videogame groups. · datafaker.net, 8 Oct 2026
- Expressions
- Expressions support replacements such as letters, digits, regular-expression-based output, and generated CSV or JSON. · datafaker.net, 8 Oct 2026
- Installation
- The library is hosted on Maven Central and the site shows Maven, Gradle, and Ivy dependency examples. · datafaker.net, 8 Oct 2026
- Java requirement
- For Datafaker 2.x, Java 17 is the target; the site recommends Datafaker 1.x for older Java versions. · datafaker.net, 8 Oct 2026
- Languages
- The project describes support for Java, Kotlin, and Groovy. · github.com, 8 Oct 2026
- License
- The project repository identifies its license as Apache-2.0. · github.com, 8 Oct 2026
- Maker attribution
- The documentation footer credits Erik Pragt and shows copyright years 2016–2026. · datafaker.net, 8 Oct 2026
- Minimum Java version
- Datafaker 2.x requires Java 17; the README says Datafaker 1.x is built on Java 8 and is no longer maintained. · github.com, 8 Oct 2026
- Output formats
- The README describes generating CSV and JSON, and points to documentation for YAML and XML; the formats page labels its XML functionality deprecated. · github.com, 8 Oct 2026
- Provider customization
- A custom faker can extend Faker and register a custom provider for use in code. · datafaker.net, 8 Oct 2026
- Providers
- The homepage says Datafaker offers more than 250 data providers. · datafaker.net, 8 Oct 2026
- Purpose
- Datafaker is a Java and Kotlin library for generating fake data for test databases, stress tests, or anonymizing production data. · datafaker.net, 8 Oct 2026
- Release
- The site lists version 2.7.0 as a release. · datafaker.net, 8 Oct 2026
- Release feature
- Version 2.7.0 added an HTTP faker for status codes, headers, user agents, and more. · datafaker.net, 8 Oct 2026
- Sequences
- Datafaker supports fake collections and fake streams, including sequences with configurable lengths and null rates. · datafaker.net, 8 Oct 2026
- Use case
- The project says it is useful when developing a new project and needing data for a showcase. · github.com, 8 Oct 2026
- Use of YAML
- The documentation says YAML files may be preferable when a custom provider needs to load a large data set. · datafaker.net, 8 Oct 2026
- Weighted selection
- Weighted random selection is documented as proof of concept and currently available only for custom hardcoded providers. · datafaker.net, 8 Oct 2026
Where Datafaker stands on Freedom251
- Test Data Generation Tools#14 of 28