Free CSV sample files
Tabular data as plain text, one record per line. The universal import and export format. Download valid CSV test files in 10 exact sizes, from 1 KB to 10 MB, each with a checksum.
- Extension
- .csv
- MIME type
- text/csv
- Kind
- Text
- Category
- Spreadsheets
CSV files by size
Every file below is a valid Comma-separated values file of exactly the stated size. Open a file's page for its checksum and contents, and to preview it in your browser before downloading.
| File | Size | Contents | Download |
|---|---|---|---|
| 1 KB CSV samplesample-csv-1kb.csv | 1 KB1,024 bytes | Data rows: 7 | Download CSV |
| 5 KB CSV samplesample-csv-5kb.csv | 5 KB5,120 bytes | Data rows: 39 | Download CSV |
| 10 KB CSV samplesample-csv-10kb.csv | 10 KB10,240 bytes | Data rows: 78 | Download CSV |
| 25 KB CSV samplesample-csv-25kb.csv | 25 KB25,600 bytes | Data rows: 196 | Download CSV |
| 50 KB CSV samplesample-csv-50kb.csv | 50 KB51,200 bytes | Data rows: 391 | Download CSV |
| 100 KB CSV samplesample-csv-100kb.csv | 100 KB102,400 bytes | Data rows: 782 | Download CSV |
| 500 KB CSV samplesample-csv-500kb.csv | 500 KB512,000 bytes | Data rows: 3,857 | Download CSV |
| 1 MB CSV samplesample-csv-1mb.csv | 1 MB1,048,576 bytes | Data rows: 7,885 | Download CSV |
| 5 MB CSV samplesample-csv-5mb.csv | 5 MB5,242,880 bytes | Data rows: 38,933 | Download CSV |
| 10 MB CSV samplesample-csv-10mb.csv | 10 MB10,485,760 bytes | Data rows: 77,720 | Download CSV |
More CSV samples
Hand-designed files with realistic content or a specific edge case.
| File | Size | Contents | Download |
|---|---|---|---|
| Sample customers CSV (100 rows)sample-customers.csv | 7.83 KB8,018 bytes | Data rows: 100 | Download CSV |
| CSV with quoted fields, embedded commas and line breakssample-csv-quoted-fields.csv | 324 B324 bytes | Data rows: 6 | Download CSV |
| Semicolon-delimited CSV with decimal commassample-csv-semicolon-delimited.csv | 2.02 KB2,064 bytes | Data rows: 25 | Download CSV |
| CSV with a UTF-8 byte order mark and non-ASCII textsample-csv-utf8-bom.csv | 193 B193 bytes | Data rows: 6 | Download CSV |
What is a CSV file?
CSV stores a table as text: each line is a row and commas separate the fields. Fields that contain commas, quotation marks or line breaks are wrapped in double quotes, with embedded quotes doubled.
There is no single enforced standard. RFC 4180 documents the common conventions, but real files vary in delimiter, quoting, encoding and line endings, which is exactly why importers need testing.
How to recognise a CSV file
No signature bytes. CSV files are identified by parsing their content.
| Extension | .csv |
|---|---|
| MIME type | text/csv |
| Reference | RFC 4180 |
| Delimiter | Comma; semicolon and tab variants are common |
| Quoting | Double quotes, doubled to escape |
| Types | None: every value is text until the reader interprets it |
What to test for
These are the behaviours that most often go wrong when software handles CSV files.
- Splitting each line on commas breaks on quoted fields. Test with the quoted-fields sample before trusting an importer.
- Excel opens CSV files using the system locale, so a file that works in one country shows everything in one column in another.
- Values beginning with =, +, - or @ can be executed as formulas when a CSV is opened in a spreadsheet, a risk known as CSV injection.
Strengths of CSV
- Understood by every spreadsheet, database and programming language.
- Can be read and written as a stream, one row at a time, at any size.
Limitations of CSV
- No types, no schema and no standard encoding: the reader has to guess.
- Delimiter and quoting conventions vary between tools and locales.
Typical uses of CSV test files
- Testing data import features
- Checking delimiter and encoding detection
- Load-testing with many rows
- Seeding databases and demos
Software that opens CSV
- Microsoft Excel, Google Sheets and LibreOffice Calc
- Databases (COPY, LOAD DATA, .import)
- pandas, Papa Parse and the Python csv module
Specifications
Related
CSV sample files: questions
- Do the CSV samples have a header row?
- Yes. The first line names the columns, and the sized samples use CRLF line endings as RFC 4180 describes.
- Is the data real?
- No. Names are invented, email addresses use the reserved example.com domains and phone numbers use the fictional 555-01xx range.
- What is the MIME type of a CSV file?
- The MIME type is text/csv. The file extension is .csv.
- Is a sample CSV file the same as a dummy or example CSV file?
- Yes. Sample, test, dummy and example CSV files are different names for the same thing: a CSV file with known contents that stands in for a real one. Any file on this page will do wherever a tutorial or a test plan asks for a dummy CSV file.