Generate sample data for a demo or test fixture
A table to screenshot, rows to seed a dev database, fixtures for a parser — fictional values that are safe to commit and share.
Tools used in this guide
The job
Real user data should never leave the source system, but demos and tests still need rows that look real. Fictional-but-plausible values — names, example.* emails, 555 phone numbers — fill a spreadsheet or seed file without touching anyone's information.
How to do it
Check the columns you need, set a row count and pick CSV or JSON. Each run reshuffles, so generate again until the spread looks right for the screenshot or fixture.
- CSV drops straight into a spreadsheet or an import; JSON suits API fixtures and typed test data.
- Keep the file small enough to review — 10–50 rows reads as a demo, hundreds suit load tests.
Worked example
Generating 25 rows of name/email/date as CSV and importing it into a staging table gives a screenshot-ready user list where every address resolves to a reserved example domain — nobody's real inbox is touched.
Limits
The data is deliberately fake: emails resolve nowhere real, phone numbers sit in the fictional 555-01xx block, and the name/city pools are small, so duplicates appear in big row counts. For production-realistic distributions or locale-specific names, a seeded library is the better tool.