DataForger
Open source · .NET synthetic data

Forge Realistic Data. Build Reliable Software.

Generate realistic, deterministic, country-specific synthetic data for development, testing, automation, API mocking, demos, and environment seeding.

Program.cs
var customers =
    DataForger
        .ForCountry(Country.PT)
        .Create<Customer>(100);

Everything you need for realistic test data

Six capabilities that make DataForger a drop-in replacement for hand-written fixtures.

Country Aware

Localized names, addresses, phone numbers, and identifiers for each supported country.

  • Seven country providers built in
  • Locale-correct formats and validation rules
  • Country-specific identifiers such as NIF, CPF, and SSN

Deterministic

Repeatable generation using seeds. The same seed always produces the same data.

  • Seeded pseudo-random generation
  • Stable output across machines and runs
  • Ideal for snapshots, diffs, and reproducible tests

Extensible

Custom generators plug into the pipeline when you need domain-specific values.

  • Register generators per type or property
  • Override built-in behavior per country
  • Composable with existing providers

Enterprise Ready

Built for professional software development: predictable, typed, and maintainable.

  • Strongly typed POCO mapping
  • No runtime surprises or dynamic proxies
  • Fits CI/CD and regulated environments

High Performance

Generate thousands of entities quickly without slowing down your test suite.

  • Fast in-memory generation
  • Scales to large collections
  • Zero allocation overhead where possible

Open Source

Community-driven development with a public roadmap and open issue tracker.

  • MIT licensed
  • Public roadmap and issues
  • Contributions welcome

Seven country providers

Localized names, addresses, formats, and national identifiers — out of the box.

Explore all countries

One fluent API

Pick a country, describe your entity, call Create. Language-aware examples below.

PersonDemo.cs
var person = DataForger
    .ForCountry(Country.PT)
    .Create<Person>();

Console.WriteLine(person.Name);
// Ana Martins

Why DataForger

Test data should be a solved problem, not a maintenance burden.

No more hand-written fixtures

Replace scattered seed files and hardcoded test data with one fluent API.

Locales that actually match

Names, addresses, formats, and identifiers follow each country's real conventions.

Reproducible by design

Seeded generation means a failing test fails for the same reason, every time.

Zero runtime footprint

A plain .NET library. No database, no service, no external API calls.

Enterprise use cases

Where synthetic data earns its place in professional pipelines.

Development & Testing

Seed databases with realistic fixtures instead of hand-written rows and brittle CSV files.

API Mocking

Return believable, schema-correct responses that mirror production data shapes.

CI/CD Pipelines

Deterministic seeds keep integration tests reproducible across every pipeline run.

Demos & Prototypes

Populate demos with locale-accurate data so stakeholders recognize their own market.

Load & Performance Testing

Generate thousands of unique entities to stress indexes, queries, and search.

Privacy-Safe Workflows

Synthetic data carries no PII, simplifying sharing across teams and environments.

Open source at heart

DataForger is MIT licensed and developed in the open. Report issues, propose country providers, or ship custom generators — the roadmap lives on GitHub.

Star on GitHub

Forge Realistic Data. Build Reliable Software.

Start generating realistic, deterministic test data in minutes.