A synthetic data generator you can actually own

Open source, self-hostable, no accounts required to run it yourself. CLI, REST API, and web UI for generating realistic test data — 35+ field types, CSV/JSON/SQL output, and schema cloning from real Kaggle datasets.

~/Synteticdatagen
$ python3 syngen.py --rows 3 --format json \ --fields agent_id,call_duration,csat_score,sentiment [ { "agent_id": "AGT-1042", "call_duration": 312, "csat_score": 4, "sentiment": "Positive" }, { "agent_id": "AGT-0871", "call_duration": 187, "csat_score": 5, "sentiment": "Positive" } ]

Three ways to generate data, one engine underneath

CLI

Run python3 syngen.py straight from the repo for scripting, CI fixtures, or seeding a local database.

REST API

A FastAPI service with bearer-token auth for generating data programmatically from any language.

Web UI

A Flask app for configuring fields visually and exporting without writing any code.

Kaggle cloning

Point it at a public Kaggle dataset, learn its schema, and generate a synthetic clone — no real data leaves Kaggle.

Multiple formats

Export as CSV, JSON, or SQL INSERT statements. Up to 100,000 rows per request.

Self-hostable

Clone the repo and run all three components yourself. No hosted account, no external dependency required.

35+ field types

General
integer float string name company email phone url address city country date datetime boolean uuid
Call center
call_duration wait_time csat_score nps_score sentiment agent_id call_outcome resolution_status
Demographic
age gender ethnicity education income_bracket employment household_size generation

Export in the format you need

out.csv
agent_id,csat_score,sentiment AGT-1042,4,Positive AGT-0871,5,Positive
out.json
[ {"agent_id": "AGT-1042", "csat_score": 4}, {"agent_id": "AGT-0871", "csat_score": 5} ]
out.sql
INSERT INTO calls (agent_id, csat_score) VALUES ('AGT-1042', 4); ('AGT-0871', 5);

Clone it and run it yourself

MIT licensed. No account, no API key, no rate limit when you run your own instance. Issues and pull requests are welcome on GitHub.

$ git clone https://github.com/tedrubin80/Synteticdatagen.git $ cd Synteticdatagen $ pip install -r requirements.txt $ python3 syngen.py --rows 100 --format csv