Sample CSV file — free download
CSV is the format most import pipelines break on — not because parsing is hard, but because real files contain quoted commas, embedded newlines, a UTF-8 BOM, ragged rows and formulas. Every CSV below is generated from source and ships with a published SHA-256.
Need a specific size?
Streamed on demand — nothing stored, no signup, any size up to 2 GB.
7 ready-made CSV test files
| File | Size | What it catches | |
|---|---|---|---|
| ragged-rows.csv | 123 bytes | Importers that silently pad or drop values. The right behaviour is a per-row validation error naming the row number, not a partial import. | download |
| bom-and-semicolons.csv | 124 bytes | Importers hardcoded to comma delimiters, and the stray "" that appears before the first column header when the BOM is not stripped. Extremely common real-world support ticket. | download |
| formula-injection.csv | 357 bytes | CSV export endpoints that write user-supplied data unescaped. When a victim opens the export in Excel or Sheets, the formula executes in their context. Correct mitigation is prefixing risky cells with a single quote or wrapping them. | download |
| quoting-nightmare.csv | 407 bytes | Naive parsers that split on commas. A correct parser returns exactly 7 data rows; a naive one typically reports 9 or 10. | download |
| valid-simple.csv | 4.3 KB | Baseline. | download |
| 1000-rows.csv | 46.2 KB | The everyday import case: big enough to exercise pagination, batching and progress reporting, small enough to open in a spreadsheet. The most requested size in this niche. | download |
| 1million-rows.csv | 34.1 MB | Import jobs that load the whole file into memory, and UIs that try to preview every row. Also useful for confirming your progress bar is honest. | download |
Every file is generated from source — no third-party copyright — and each has its own page with a published SHA-256 you can verify after download.
Questions
Where can I download a sample CSV file with 1000 rows?
Use the generator link above — it streams a 1,000-row CSV instantly. For a smaller ready-made file, the 100-row sample is in the table.
How do I get a large CSV file for performance testing?
The 1,000,000-row CSV is roughly 34 MB and is stored as a static file. For anything larger, the generator will stream a CSV of any shape up to 2 GB.
What is CSV formula injection?
A cell beginning with =, +, - or @ is interpreted as a formula when opened in Excel or Sheets, which can execute on the victim machine. The formula-injection file below contains the standard payloads so you can prove your exporter escapes them.
Does a CSV file need a BOM?
No, but Excel on Windows needs a UTF-8 BOM to detect the encoding correctly. The BOM sample below lets you test both paths — note the BOM shows up as an invisible character on the first header.