CSV Validator
Check CSV syntax, row widths and headings without silently repairing data. Download a diagnostic report.
This tool runs entirely in your browser. Your data is never uploaded, never stored, and never leaves your device.
CSV Validator checks quote syntax, field counts and optional header warnings without silently changing rows or cells.
How to use it
- 1Paste CSV or load a UTF-8 file and select its delimiter.
- 2Choose whether the first record is a header, then validate.
- 3Correct the reported records and optionally save the JSON diagnostic report.
Example
- Input
- id,name,city 001,Mira,Delhi 002,Leo
- Output
- Record 3, line 3: expected 3 fields but found 2.
The short record is diagnosed instead of padded.
What happens to your data
Files are read and validated locally. Diagnostic downloads contain locations and messages rather than the original cell values.
Last updated October 2026
A CSV can look like a neat table and still fail an import because one quote is misplaced or one record has too few fields. This CSV validator checks those structural problems before you pass the file to a spreadsheet, database or application. Select the actual delimiter, say whether the first record is a header, and validate pasted text or a local UTF-8 file.
The validator never fills in missing cells, discards extra cells or silently removes blank records. It reports the record number and starting physical line so you can correct the source deliberately. Successful structural validation means the rows and quoting are consistent; it does not mean an email address, date, price or account number is correct.
How it works
The parser distinguishes unquoted fields, quoted fields and the position after a closing quote. A delimiter or line break inside quotes is part of a value. Two adjacent quotes inside a quoted field represent one literal quote. A quote inside an unquoted field, text after a closing quote or an unclosed quote stops parsing with a line and column. Spaces are retained, so a space before an opening quote does not act like optional formatting.
Once quoting is valid, every record is checked against the first record's field count. Header mode also warns about repeated and empty header names. A blank record remains one empty field and receives a warning, plus a field-count error if the table expects more columns. A single final record ending adds no extra row. LF, CRLF and CR record endings are supported; mixed record endings receive a warning. A UTF-8 BOM is removed from the first field and disclosed. This is a practical structural check based on CSV quoting conventions, not an assertion of complete RFC conformance for every character or dialect.
Input is limited to 2 MiB, 10,000 records including the header, 200 fields per record and 200,000 cells. Diagnostic totals include every finding, while the visible list and downloadable JSON report contain at most the first 100. The report contains locations and messages rather than your original cell values. All parsing happens in this browser, and editing any input or setting clears the previous result.
Worked example: Locate a short record without padding it
- Input
- id,name,city 001,Mira,Delhi 002,Leo
- Result
- Record 3, line 3: expected 3 fields but found 2.
The missing city is reported; no empty city cell is inserted.
Common use cases
- Finding why a CSV upload rejects a specific row
- Checking that a semicolon export uses the delimiter your importer expects
- Reviewing quoted commas and multi-line notes before a database import
- Finding duplicate header names that an object-based importer could overwrite
Frequently asked questions
Does this repair a malformed CSV?+
No. Repairing a row can change which value belongs to which column. Fix the reported location in your source, then validate again. The original input remains editable.
Why are record number and line number different?+
A quoted field can contain physical line breaks. It is still one CSV record, so later record numbers and physical line numbers may differ. The diagnostic uses the record's starting line for field-count issues.
Can I validate TSV or semicolon-separated text?+
Yes. Choose Tab or Semicolon explicitly. Quoting follows the same rules around your chosen separator. The tool does not guess a delimiter, because a guess can turn a broken table into an apparently valid one-column file.
Does a passed result prove my data can be imported?+
No. A receiving application may require particular headers, encoding, types, field lengths or line endings. This validator checks structure and useful header warnings; it does not enforce that application's schema.
What happens to empty fields or a trailing delimiter?+
Empty fields remain empty strings. A trailing delimiter creates a final empty field and participates in the field-count check. If that is intentional, keep it; if it creates an extra column, fix the source.
Standards and limitations
Related tools
CSV Compare by Key
Compare CSV exports by a unique key. Preserve string IDs and inspect added, removed and changed records.
Text Encoding Converter
Decode supported text encodings and save UTF-8 or UTF-16 with strict byte checks and BOM options.
CSV to Excel Converter
Create a safe XLSX with encoding detection, typed columns, protected IDs and an optional audit sheet.
JSONL / NDJSON Converter
Convert JSONL or NDJSON to a JSON array and back, preserving number tokens and finding line errors.