Random Data Generator (CSV, TSV, XML)

Build a random test dataset from 26 column types and export it as CSV, TSV, XML, JSON, JSON Lines, SQL INSERT statements or a Markdown table.

Columns

All rows are fictional test data: example.com emails, 555-01xx phones and documentation IP addresses. Do not use them to pose as real people.

What you can do here

How to use the random data generator

Tick the columns you need, from IDs, names and emails to prices, dates, statuses and IP addresses, set the number of rows (up to 10,000) and choose an output format. Press Generate, then copy the result or download it as a file with the right extension. Changing the format re-renders the same rows, so you can export one dataset as CSV, JSON and SQL. The Users table and Orders table presets pick a sensible set of columns in one click.

Generate random CSV

CSV output quotes any value that contains the delimiter, a quote or a line break and doubles embedded quotes, following RFC 4180, so it opens cleanly in Excel, Google Sheets, pandas and database import tools. Switch the delimiter to a semicolon for European Excel locales or to a pipe, and untick Header row when a loader expects data only.

id,first_name,last_name,email,city
1,Olivia,Nguyen,olivia.nguyen@example.com,Denver
2,Kenji,Rossi,kenji.rossi42@example.com,Boston

Generate random TSV

TSV (tab-separated values) puts a tab between columns and never needs quoting; any tab or line break inside a value is replaced with a space. It pastes straight into spreadsheet cells and suits command-line tools such as cut, awk and sort, and bulk loaders like PostgreSQL COPY.

Generate random XML

XML output wraps the rows in a root element named after your table (for example <users>) with one child per row (<user>) and one element per column, all values escaped. Tick XML attributes for compact rows such as <user id="1" email="..."/>. It is handy for testing XML parsers, XSLT, SOAP payloads and import jobs.

<?xml version="1.0" encoding="UTF-8"?>
<users>
  <user>
    <id>1</id>
    <email>olivia.nguyen@example.com</email>
  </user>
</users>

JSON, JSON Lines, SQL and Markdown

JSON output is an array of objects with real numbers and booleans; JSON Lines writes one object per line for log and streaming pipelines; SQL output writes one INSERT statement per row with quotes escaped; and Markdown produces a table for READMEs and docs.

Safe test data

Every email uses example.com, phone numbers use the fictional 555-01xx range and IP addresses come from the RFC 5737 documentation blocks, so nothing in the dataset points to a real person, inbox or server.

Frequently asked questions

How do I generate a random CSV file?

Tick the columns you want, set the number of rows, keep the format on CSV and press Generate, then Download file. The file opens in Excel, Google Sheets and any CSV reader.

Can I generate random TSV or XML instead?

Yes. Choose TSV for tab-separated output or XML for a root element with one child element per row. The same rows can also be exported as JSON, JSON Lines, SQL INSERT statements or a Markdown table.

How many rows can I generate?

Up to 10,000 rows per click. Everything is generated in your browser, so nothing is uploaded.

Is the data safe to use in tests and demos?

Yes. Names and companies are fictional combinations, emails use example.com, phones use 555-01xx and IP addresses use documentation ranges, so none of them reach a real person or server.

Can I choose the column order or names?

Columns appear in the order of the checklist and use snake_case names such as first_name. Rename them in your spreadsheet, or edit the header row after copying.

Related tools

Random String GeneratorRandom Date GeneratorRandom IP GeneratorRandom Address GeneratorUUID GeneratorJSON to CSV