Mock Data Generator
Build a custom schema and download fake JSON, CSV or SQL — names, emails, UUIDs, dates and more.
What this tool does
Generates realistic-looking fake data for development, testing, demos, design mockups and database seeding. Define a schema column by column, pick a regional flavour (English US names, Brazilian Portuguese names, or Spanish names from across Latin America and Spain), and export up to 1,000 rows as a JSON array, a CSV file, or a list of SQL INSERT statements ready to paste into a migration. The generator is entirely offline — there is no upload, no signup, no quota and the page makes no network calls during generation. Random values come from crypto.getRandomValues(), not Math.random(), so UUIDs are RFC 4122 compliant and integer ranges are unbiased. Locales ship with curated pools of first names, last names, cities, streets, companies and job titles, plus locale-aware phone formatting (US, Brazilian and Spanish patterns) and email domains that are safe to use in tests (example.com, example.org).
How to use it
Pick a row count and a locale; the locale only changes the names, cities and phone format — the column types you choose stay the same. Add columns by clicking Add column: each row takes a column name (used as the JSON key, CSV header and SQL column) plus a data type (first name, email, UUID, integer, etc.). Switch the output format chip between JSON, CSV and SQL — for SQL, fill the table name field. Hit Generate, then copy the output to your clipboard or download it as a file. Re-running with the same schema gives different values every time because the RNG is unseeded.
How the values are generated
For each row, the generator walks the schema column by column. Names, cities, streets, companies and job titles are drawn from a per-locale pool with crypto RNG. Emails combine a slugified first and last name with a small numeric salt and a safe test-domain (example.com, exemplo.com.br, ejemplo.com). UUIDs follow RFC 4122 v4 with the version and variant nibbles forced. Phone numbers use locale-specific patterns (US +1 (XXX) XXX-XXXX, Brazilian +55 (XX) 9XXXX-XXXX, Spanish +34 XXX XXX XXX). Integers default to [0, 99999], decimals to two-decimal floats in [0, 1000], dates to ISO YYYY-MM-DD between 1980 and 2024. CSV output escapes values containing commas, quotes or newlines per RFC 4180. SQL output backtick-quotes table and column names and single-quotes string values with the escape ''.
Available column types
Each column type below is locale-aware where it makes sense.
| Type | Example |
|---|---|
| First name | Olivia, João, Sofía |
| olivia.brown@example.com | |
| Phone number | +1 555-0142 |
| UUID v4 | 3f2c1a90-…-4b21 |
| Date (YYYY-MM-DD) | 2024-08-12 |
| Boolean | true / false |
Frequently asked questions
Is the data unique across runs?
How big can I go?
Are emails safe to use in tests?
example.com, example.org) and locale-equivalent placeholders (exemplo.com.br, ejemplo.com). Mail to those domains is silently dropped, so test runs can't accidentally email a real person.
EN
PT
ES