The .csv file.
The most portable data format in existence, and the only one with no specification anybody is obliged to follow.
What it actually is
A CSV is a text file where something separates the values and something else, sometimes, quotes them. That is the whole format. RFC 4180 describes one common dialect and explicitly does not claim to be a standard anybody implements, which is why two programs can both be correct and disagree about the same file.
Everything that makes a data format safe is absent: there are no types, so a leading zero is indistinguishable from a number; there is no declared encoding, so the bytes have to be guessed; and there is no schema, so a column that changes meaning halfway down the file is perfectly legal.
It survives anyway, because every system on earth can produce one. In practice a CSV is the lowest common denominator between two things that were never designed to talk, and the damage happens at that boundary rather than inside either program.
At a glance
- Specification
- None. RFC 4180 documents a convention.
- Delimiter
- Comma, semicolon, tab or pipe, depending on who wrote it
- Encoding
- Undeclared. UTF-8, UTF-16 and Windows-1252 all occur.
- Types
- None. Everything is text until something guesses.
- Size ceiling
- None in the format itself
- Read here as
- Direct. Delimiter, quoting and encoding are detected rather than assumed.
- Status
- Ready
- Fidelity
- Read directly
- Largest file
- 250 MB
Delimiter, quoting and encoding detected rather than assumed.
Upload one
The analysis runs before there is anything to pay for. You see what it found, and the evidence behind it, first.
No account needed to start. You only pay when you like what you see.
What goes wrong, and what is done about it
01
Excel writes semicolons in half of Europe
Excel's CSV export uses the list separator from the operating system's regional settings. On a machine set to most European locales that is a semicolon, because the comma is the decimal mark. The file is still called .csv and opens as one column everywhere else.
The delimiter is detected by scanning candidate separators and choosing the one that yields a consistent column count, rather than assuming a comma.
02
Leading zeros are gone before you open it
A postcode, a product code or an account number beginning with zero is a number as far as any type-guessing importer is concerned. 01234 becomes 1234, and the join against another file quietly matches nothing.
Columns whose values are fixed-width and zero-padded are read as text. Where a join fails on exactly this pattern, that is reported as the cause rather than as an empty result.
03
A quoted newline turns one row into three
An address field or a free-text comment containing a line break is legal inside quotes. A parser that splits on newlines first, which many hand-rolled ones do, produces extra rows with columns shifted sideways, and the row count is the only clue.
Quoting is honoured, so an embedded newline stays inside its field. Rows whose column count does not match the header are reported with their line numbers instead of being dropped.
04
Encoding damage that only shows up in names
A file written as Windows-1252 and read as UTF-8 turns é into é. It affects text columns only, so every number reconciles perfectly and the file looks fine until somebody searches for a customer.
Encoding is detected from the byte pattern, including the UTF-8 byte order mark Excel writes. Where detection is ambiguous the choice made is stated in the methodology.
If you have the choice, send something else
If the source can produce Parquet, take it instead. It carries real types, so leading zeros, dates and long identifiers survive, and it is typically a fifth of the size.
Questions people ask
My CSV opens as one column in Excel. Is it broken?
Almost certainly not. It is delimited with something your copy of Excel is not expecting, usually a semicolon or a tab. Upload it as it is — the delimiter is detected from the content, so the file does not need fixing first.
How large a CSV can I upload?
250 MB. Rows are read columnwise rather than loaded into a chat window, so a wide file with a few thousand rows and a narrow one with two million behave the same way.
Can I upload several CSVs at once?
Yes, and that is where most of the value is. Two files is a join — orders against costs, this month against last — and how they connect is worked out and reported with the match rate rather than assumed.
Will it change my file?
Never. Repairs are applied to a new copy and the original stays exactly as uploaded. Both are downloadable, and every change is listed with a before and after.