In short: RowSlice’s Sample CSV File Generator makes a realistic test CSV of customers, sales orders, employees or products, with up to 100 million rows or a file of up to 20 GB, and shows the first rows before you download. All of the data is made up, and ticking Include tricky values adds the commas, quotes, line breaks, non-Latin text and blanks that trip up importers. The file is built in your browser and saved to your own disk before it downloads, with nothing sent to a server, so the practical limits are free disk space and the storage your browser allows one site (about 10 GB in Firefox).
Testing an import means you need a file shaped like the real thing, big enough to hit the limits you care about, and free of anyone’s actual personal data. A copy of a real export is rarely the size you need, and it is full of real people’s details. This generator makes a test file on your own computer and writes it to your disk a batch of rows at a time, so a 5 GB test file needs no more memory than a small one. When the real export is what you need, only smaller, take a sample out of it instead — the first rows, every nth row or a random slice, copied exactly as they were written.
How to Generate a Test CSV File
- Choose a dataset: customers, sales orders, employees or a product catalog.
- Choose a size, either an exact number of rows or a file size in megabytes. The buttons below the size fill in common test sizes.
- Tick Include tricky values if you want to find out whether your importer copes with messy data.
- Check the preview, which shows the first rows of the exact file you will get.
- Press Generate CSV, then download the file when it is ready.
The Quick downloads at the top of the tool skip these steps: each one generates the customers dataset with the default settings and downloads it as soon as it is ready, and they come in 10, 100, 1,000, 10,000, 100,000, 1,000,000 and 1,048,577 rows, from 1.2 KB to 115.5 MB.
Sample Customer, Sales, Employee and Product Data
| Dataset | Columns | Good for testing |
|---|---|---|
| Customers | ID, first and last name, email, phone, city, country, postal code, signup date, lifetime value, opt-in | CRM and mailing-list imports, deduplication, address handling |
| Sales orders | Order ID, date, customer ID, store, SKU, product, quantity, unit price, discount, total, status, note | Reporting, splitting by store or status, totals and money columns |
| Employees | Employee ID, name, email, department, job title, hire date, salary, manager, office, active | HR and payroll systems, lookups by manager ID, access control tests |
| Product catalog | SKU, product name, category, brand, price, cost, stock, weight, EAN-13 barcode, description | Shop and inventory imports, barcode handling, long text fields |
Some values are chosen to catch a common import mistake on their own. US postal codes such as 02108 and product barcodes starting with 0 lose their leading zeros if anything along the way treats them as numbers — see why Excel removes leading zeros. Every barcode carries a valid EAN-13 check digit, so a validator that rejects them has a bug of its own.
Dummy, Fake or Mock Data? All of It Is Made Up
Nothing in these files is copied from real records. The generator builds every value from short built-in lists and random numbers:
- Names pair a first name and a last name picked at random from 40 of each, plus a few accented and non-Latin ones when tricky values are on, so any match with a real person is chance.
- Email addresses are made from the name and the row number, so every address in a file is different: the first customer in the default file is Yuki Moore,
yuki.moore1@example.com. Customers get addresses atexample.comand employees atexample.org. - Phone numbers all end in a number from 555-0100 to 555-0199, so none of them belongs to a real person.
- Addresses go no further than a city, a two-letter country code and a postal code. There are no street names or house numbers.
- Numbers still add up. An order’s total is the quantity times the unit price, less the discount, and each salary sits near a typical figure for the job title.
Test Files with Quotes, Commas, Line Breaks and Missing Values
Clean sample data proves very little, because many CSV bugs only show up on the awkward rows. With Include tricky values ticked, roughly one row in six to one in three, depending on the dataset, has at least one of these:
- Commas inside a value, such as a store called Main St, Unit 4. The value is wrapped in quotes, and a reader that splits on every comma will shift the rest of that row one column to the right.
- Double quotes inside a value, like 27" Monitor, written as
"27"" Monitor"as the CSV standard requires. - Line breaks inside a value, in order notes and product descriptions. A tool that counts lines instead of rows will report the wrong total — the problem explained in how to count the rows in a CSV.
- Accented and non-Latin text, such as Zoë, Łukasz, São Paulo and 東京, which turn into garbled characters when a program guesses the wrong encoding.
- Empty values in columns that are usually filled, such as phone number, city or salary.
To test quoting, choose sales orders or the product catalog: those are the datasets whose tricky values include commas, double quotes and line breaks. In customers and employees, the tricky values are accented and non-Latin names (and, for customers, city names) and empty values.
The preview marks a line break inside a value with ↵, so you can see which rows are the awkward ones before you download.
How Big Is a Sample CSV File?
With the default settings a row takes about 100 to 120 bytes, so each million rows adds roughly 100 to 115 MB. These are the sizes the generator produces, rounded as the tool shows them:
| Dataset | 1,000 rows | 100,000 rows | 1,000,000 rows | Rows in a 1 GB file |
|---|---|---|---|---|
| Customers | 110.2 KB | 10.9 MB | 110.1 MB | 9,218,407 |
| Sales orders | 100.8 KB | 9.8 MB | 98 MB | 10,444,740 |
| Employees | 112.9 KB | 11.2 MB | 113 MB | 8,918,839 |
| Product catalog | 116.2 KB | 11.3 MB | 113.5 MB | 9,024,306 |
The sizes are for the default settings: a header row, commas, Windows (CRLF) line endings, a UTF-8 byte order mark, seed 42 and no tricky values. They come from running the generator’s own code and counting the bytes it wrote, and they use the same units the tool reports, where 1 KB is 1,024 bytes and 1 MB is 1,048,576 bytes. Other options change the size a little; Mac and Linux (LF) line endings, for example, save one byte per row. The 1,048,577-row Excel test file comes to between 102.8 MB (sales orders) and 119 MB (product catalog). For the limits that other programs put on file size, see is there a CSV file size limit?
Large CSV Files for Testing: 1 GB, 5 GB, 10 GB and 20 GB
When the file’s size is what matters — a memory or streaming test, or an upload capped in megabytes — choose File size instead of Number of rows, enter the size in megabytes and press Generate CSV, with every other option left at its default. The tool counts 1,024 MB to the gigabyte, and the row counts below come from running the generator’s own code, like the sizes above. A 20 GB file holds fewer than 20 times the rows of a 1 GB one, because every email address carries its row number, so the rows get longer as the file grows.
| File size | Customer rows (default options) | How to make it | Browser |
|---|---|---|---|
| 1 GB | 9,218,407 | File size: 1024 MB, or press 1 GB under Common test sizes | Chrome, Edge or Firefox |
| 5 GB | 45,747,082 | File size: 5120 MB | Chrome, Edge or Firefox |
| 10 GB | 91,400,179 | File size: 10240 MB | Chrome or Edge |
| 20 GB | 181,322,331 | File size: 20480 MB, the most the tool accepts | Chrome or Edge |
Choosing a Size
| You want to test | Generate | Why |
|---|---|---|
| Excel’s row limit | 1,048,577 rows | Just past the 1,048,576 rows a worksheet holds, whether or not you count the header. Excel should warn that not all the data was loaded. |
| Google Sheets import | 20,000,000 ÷ columns | A spreadsheet in Google Sheets holds up to 20 million cells, so an 11-column file reaches the limit at about 1,818,000 rows, counting the header row. The limit was 10 million until Google began raising it in September 2026. Google also caps a spreadsheet created in or converted to Sheets at 100 MB, so a file with long values can fail before it reaches 20 million cells. |
| An upload or import limit | Just over the limit | Check the error message is clear, then just under the limit to confirm it is accepted. |
| Memory and streaming | 1–10 GB | Large enough that a program loading the whole file into memory slows down or fails. |
Excel’s row limit explained covers what happens to the rows past the limit, and splitting a CSV to fit an import limit lists published limits for common tools.
Repeatable Test Files
Each file comes from a seed, set to 42 under Advanced Options. The same seed with the same dataset, size and options gives a byte-for-byte identical file every time. That lets a bug report say “sample orders, 2 million rows, seed 42” instead of attaching a 196 MB file, and lets two people test against exactly the same data. Change the seed for a different file with the same shape.
Where the File Is Made
The file is generated by code running in your browser tab and written to the browser’s private storage on your own disk, then downloaded from there. Nothing is sent to a server. You need free disk space of roughly the file’s size while it is being made, and the finished file can then be used with the CSV splitter, merge tool or duplicate remover to test those jobs too. A file made with Include tricky values is also a way to test a checker rather than an importer: RowSlice's CSV validator reads the same quoted commas, line breaks and non-Latin text and reports what it makes of them.
Last updated .