Reproducible public data
CSV Edge Case Test Dataset
A public corpus for reproducing CSV, TSV and JSON parsing, conversion and validation behavior. Every fixture uses synthetic values and includes an expected outcome and SHA-256 checksum.
21fixtures
10categories
v1.0.02026-08-12
CC0public-domain dedication
Included test cases
The corpus covers headers, delimiters, quoting, row width, Unicode, leading zeroes, nested JSON and CSV merging. Build-time reference validation checks the recorded expectations instead of inferring behavior from filenames.
| File | Category | Case | Expected | SHA-256 |
|---|---|---|---|---|
| customers.csv145 B | Valid basic | Basic UTF-8 table | 3 rows × 4 columns, no structural error | 5ce5a08a7feb… |
| multiline-and-quotes.csv119 B | Quoting | Quoted commas, multiline fields and escaped quotes | 3 rows × 3 columns, no structural error | a27a326df2fe… |
| inconsistent-rows.csv57 B | Row shape | Short and long records | INCONSISTENT_COLUMNS | 856b4d081ef9… |
| leading-zeros.csv107 B | Data preservation | Leading zeroes and long identifiers | 2 rows × 3 columns, no structural error | 968da7c173ad… |
| international-utf8.csv87 B | Encoding | International UTF-8 text | 3 rows × 3 columns, no structural error | bbc6a0158463… |
| semicolon.csv71 B | Delimiter | Semicolon dialect and decimal commas | 2 rows × 3 columns, no structural error | 8d35b223cc2d… |
| tab-separated.tsv34 B | Delimiter | Tab-separated values | 2 rows × 3 columns, no structural error | 2da3fcdec73d… |
| pipe-delimited.csv44 B | Delimiter | Pipe-separated values | 2 rows × 3 columns, no structural error | 33205623a475… |
| duplicate-headers.csv43 B | Headers | Duplicate column names | DUPLICATE_HEADER | 61ba128e7fab… |
| empty-headers.csv33 B | Headers | Unnamed columns | DUPLICATE_HEADER, EMPTY_HEADER, TRAILING_DELIMITER | 9bf4bbe7186e… |
| trailing-delimiters.csv37 B | Row shape | Trailing delimiter on every record | EMPTY_HEADER, TRAILING_DELIMITER | 52d47933e755… |
| no-header.csv30 B | Headers | Data without a header record | 2 rows × 3 columns, no structural error | c477d8015d4e… |
| one-column.csv31 B | Row shape | Valid single-column input | 3 rows × 1 column, no structural error | eabc40003a7d… |
| quoted-delimiters.csv81 B | Quoting | Delimiter characters inside quoted fields | 3 rows × 3 columns, no structural error | b4d59670627e… |
| unclosed-quote.csv51 B | Quoting | Malformed unclosed quoted field | UNCLOSED_QUOTE | a2a8f71bdd57… |
| nulls-and-booleans.csv61 B | Data preservation | Strings that may be inferred as nulls, booleans or numbers | 2 rows × 4 columns, no structural error | 0adbfa25942f… |
| sparse-columns.csv83 B | Row shape | Sparse values across otherwise consistent columns | 3 rows × 5 columns, no structural error | b965279194e0… |
| nested-records.json269 B | JSON conversion | Nested JSON array for flattening into tabular columns | 2 records, 4 flattened fields | 5852449fa188… |
| merge-east.csv60 B | Merge | Merge source A | 2 rows × 3 columns, no structural error | 14d23bef3888… |
| merge-west.csv64 B | Merge | Merge source B with reordered and different headers | 2 rows × 3 columns, no structural error | 16afd37f6435… |
| large-preview-sample.csv74 B | Scale smoke test | Small deterministic fixture for exercising the large-file preview workflow; not a performance benchmark | 3 rows × 3 columns, no structural error | d88507178caa… |
Diagnostic codes
These are dataset-specific reference codes. They are not guaranteed to match CSV Dock UI labels or third-party parser error names.
DUPLICATE_HEADER- Two or more trimmed, case-insensitive header values are identical.
EMPTY_HEADER- At least one header value is empty after trimming whitespace.
INCONSISTENT_COLUMNS- At least one non-empty data row has a different field count from the first record.
TRAILING_DELIMITER- Every non-empty physical line ends with the configured delimiter.
UNCLOSED_QUOTE- The reference parser reports a missing or invalid closing quote.
How to reproduce
- Download the versioned ZIP or an individual fixture.
- Verify file integrity with checksums.sha256.
- Parse it using the delimiter, header setting and expectations in manifest.json.
- Compare actual error codes, row and column counts, and preserved values with the manifest.
Open an individual fixture in CSV Validator · Read the related guides
How to cite
CSV Dock. CSV Dock Edge Case Corpus, version 1.0.0 (2026-08-12).
https://csvdock.com/labs/csv-edge-case-dataset
License: CC0-1.0Scope and limitations
- All values are synthetic and contain no real customer, financial or operational data.
- The corpus covers common edge cases, not every CSV dialect or application-specific behavior.
- Version 1.0.0 contains UTF-8 text files only. It does not yet test UTF-8 BOM, Shift_JIS, Windows-1252 or UTF-16 byte sequences.
- large-preview-sample.csv is a small workflow smoke fixture, not a performance benchmark.
- Expected outcomes are checked with the reference parser (Papa Parse 5.5.4). This does not prove conformance by the complete CSV Dock product or by other parsers.