Sample CSV files for testing parsers and imports — free, CC0
CSV looks trivial and is not. These files hold the shared synthetic people dataset, the same records as the JSON, Parquet and SQLite people files, plus the variants that break naive parsers.
The plain files come in three row counts, csv/people-10.csv, csv/people-1000.csv and
csv/people-100k.csv, each with a header row. Three variants carry ten rows each:
csv/people-10-semicolon.csv uses semicolons, as European locales export;
csv/people-10-quoted-newlines.csv has a real newline inside a quoted field, which is where
splitting on line breaks goes wrong; and csv/people-10-utf8-bom.csv starts with a
byte-order mark that many readers leave attached to the first column name.
For size limits there are csv/1mb.csv and csv/10mb.csv, fitted to within 5% of their
nominal size and still a prefix of the same dataset.
Use them to test import dialogs, streaming parsers and spreadsheet uploads. Related formats: TSV, JSON, NDJSON and SQL.
| File | Size | Properties | Description |
|---|---|---|---|
10mb.csv
|
9.7 MB | 38,461 rows | About 10MB of people rows, fitted to within 5% of the nominal size. Still a prefix of the same dataset.
Snippets
|
1mb.csv
|
965.4 KB | 3,846 rows | About 1MB of people rows, fitted to within 5% of the nominal size. Still a prefix of the same dataset.
Snippets
|
people-10-quoted-newlines.csv
|
2.7 KB | 10 rows | Ten people rows where the bio field contains a real newline inside a quoted field, which is where line-by-line splitting goes wrong.
Snippets
|
people-10-semicolon.csv
|
2.7 KB | 10 rows | The same ten people rows delimited by semicolons, as European locales export.
Snippets
|
people-10-utf8-bom.csv
|
2.7 KB | 10 rows | Ten people rows preceded by a UTF-8 byte-order mark, which many CSV readers leave attached to the first column name.
Snippets
|
people-10.csv
|
2.7 KB | 10 rows | 10 rows of the shared synthetic people dataset with a header row. The same rows appear in every other people-10 fixture.
Snippets
|
people-1000.csv
|
249.6 KB | 1,000 rows | 1,000 rows of the shared synthetic people dataset with a header row. The same rows appear in every other people-1000 fixture.
Snippets
|
people-100k.csv
|
25.4 MB | 100,000 rows | 100,000 rows of the shared synthetic people dataset with a header row. The same rows appear in every other people-100k fixture.
Snippets
|
Related formats
File names follow the naming grammar. Verify a download against sha256sums.txt.