Fake Data Generator: Mock JSON, CSV and SQL Test Data
Define your columns (name, email, UUID, date…) and generate up to 1,000 fake rows as JSON, CSV or SQL INSERT.
Generating test data as JSON, CSV or SQL: how it works
The generator creates 1 to 1,000 fictitious rows from the columns you define (15 types: ID, UUID, name, email, phone, city, date, price and more) and exports them as JSON, CSV or SQL INSERT statements. The selected country (United States, France, Germany, Spain) sets the phone format, the cities and the country name.
How values are produced
- ID: 1, 2, 3 and so on in row order; UUID: version 4, drawn by the browser.
- First names, last names, companies, job titles: random picks from built-in lists (35 first names, 33 last names, 18 companies, 12 job titles), mixed across countries.
- Email: firstname.lastname@domain from 11 common domains (gmail.com, orange.fr, gmx.de and others). Accents are removed, so Léa becomes lea and Müller muller.
- Phone: 06 or 07 followed by four pairs in France, +49 15x to 17x in Germany, +34 6xx in Spain, +1 in the United States.
- Date between 1 January 2020 and today (YYYY-MM-DD), whole number from 1 to 1,000, price from 0.00 to 999.99 with two decimals.
Output formats
JSON: an indented array of objects. CSV: a header line, then one line per record, each value in double quotes and comma-separated. SQL: one INSERT INTO statement per row into the named table; numbers and booleans stay unquoted, text goes in single quotes with doubled apostrophes where needed.
Example
With the 5 default columns (id, first name, last name, email, phone) and 1,000 rows, the CSV has 1,001 lines including the header and the SQL file 1,000 INSERT statements. Any change to the settings reruns the draw.
Limits
- The draw is not reproducible: two runs give different data sets.
- Price comes out as text (512.40), so it is quoted in JSON and SQL.
- SQL booleans are written true/false, which PostgreSQL and MySQL accept but SQL Server does not.
- Column names are not escaped: avoid spaces.
Frequently Asked Questions
How do I generate a CSV file of test data?
Define your columns and their types, pick up to 1,000 rows and the CSV format, then download mock_data.csv. It holds a header line followed by one line per record, each value in double quotes, which Excel, LibreOffice and most import tools can read.
How do I load the generated data into an SQL database?
Choose the SQL format and the table name: the tool writes one INSERT INTO statement per row, to run once the table exists with the same column names. Booleans come out as true/false; on SQL Server, replace them with 1 and 0.
Could the generated email addresses actually exist?
Yes, by chance: they combine common first and last names with real domains such as gmail.com or orange.fr. Never send messages to them from a test environment, and switch off real email sending before importing the data set.
Can I generate more than 1,000 rows?
Not in one go: the row count ranges from 1 to 1,000 (50 by default). You can run several batches, but the auto-increment ID restarts at 1 each time, so use the UUID type to avoid duplicate keys.
Is this tool really free?
Yes, all tools on Kristools are 100% free and accessible without registration.
Is my data protected?
Yes. All processing is performed directly and securely inside your browser. No personal data is sent to our servers.