CSVFormat CSV Converter

CSV Validation Checklist: What Breaks an Import, Ordered by How Quietly

CSVFormat — CSV Formatter & Converter Guides · Updated 2026-10-30 · All guides

A CSV that opens does not mean a CSV that imports. The CSV validator scans the text once with an RFC 4180 state machine and reports each fault against a physical line number, counting the lines inside a multi-line quoted field.

Faults that change the data

FindingWhat it does downstreamSeverity
Quote opened and never closedEverything after it, possibly the rest of the file, becomes one field. Reported at the line the quote opened on, since that is where you fix it.error
Text after a closing quote ("Ann"x)Parsers differ: some keep Annx, some raise, some drop x.error
Row with a different field count than the headerColumns shift for that row, and a typed column fails or fills with the wrong data.error
U+FFFD replacement charactersThe original bytes were lost at decode time. Nothing downstream can recover them.error

Faults that depend on the importer

FindingWhy it is only a warning
Quote inside an unquoted field (Kyle "Reese")Lenient parsers keep it, strict ones reject the file.
Duplicate or empty header namesMost tools keep the last value or invent a name; the data is not wrong, the access is ambiguous.
Mixed CRLF/LF/CR line endingsUsually harmless, sometimes produces phantom blank rows.
Blank linesSkipped by some importers, imported as an empty row by others.
UTF-8 BOMExcel wants it; others return it glued to the first column name (id).
Looks like UTF-8 read as Windows-1252 (é)A heuristic: the pattern is common in mojibake but can appear in legitimate text.
Cell starting with =, +, -, @Spreadsheet formula risk; see formula injection.

What it cannot tell you

  • Whether a number column is really numeric, or a date is in the format you expect. The scanner does not type values.
  • Whether the delimiter was guessed right on a file whose first record has no delimiter at all. Pick it in the dropdown.
  • Whether the data is correct. A well-formed file can still be wrong.

Order of operations

  1. Fix the unclosed quote first; it hides every other problem below it.
  2. Fix ragged rows, then re-run, because one bad row often explains several.
  3. Re-export from the source with an explicit encoding rather than patching mojibake by hand (encoding guide).
Developer Sponsor / Partner
Copied to clipboard!