Check CSV structure in your browser, locate common row and header problems, apply reversible repairs and download a validation report.
Processed in your browserNo account requiredEncoding and delimiter controlsIncomplete exports are blocked
CSV export options
Drop a file, paste data, load a CORS-enabled URL, or try the sample.
Rows0
Columns0
EncodingAuto
DelimiterAuto
Issue groups0
Open a data file to start
The parser runs off the main thread. Once loaded, you can search, sort, validate, repair and export without an account.
Read CSV errors before choosing a repair
A useful CSV check distinguishes a missing value from a broken record. Start by confirming the delimiter, decoded characters, and first row in the preview. A semicolon file read as comma-separated text can look like a single-column table; selecting the correct delimiter comes before fixing columns. See the delimiter guide for examples.
Five fixture labels and their diagnostic meaning
The CSV Edge Case Corpus uses the following reference labels. These are dataset labels, not error codes returned verbatim by this tool. The interface groups related findings under readable names, and some corpus checks differ from the interactive report.
DUPLICATE_HEADER → Duplicate headers
id,name,name repeats a column name. The check trims whitespace and ignores letter case, so Name and name also conflict. “Make unique” adds suffixes; verify that the renamed columns still match your destination. Inspect theduplicate-header fixtureor download its CSV.
EMPTY_HEADER → Other checks: empty headers
In id,,score,, two columns have no name. The preview supplies fallback labels but retains the warning until an explicit header repair. Unlike the corpus, the interactive duplicate-name check skips blank names. Review the empty-header fixture.
INCONSISTENT_COLUMNS → Inconsistent rows
Data records are compared with the first non-empty record's field count. A missing final value and an unquoted comma can produce different widths, but they need different fixes. Theshort-and-long-record fixturecontains both cases shown below.
UNCLOSED_QUOTE → Quote errors / Parser messages
A missing or invalid closing quote can absorb later lines into one field. Correct the source quoting; column padding does not repair it. Reproduce this with theunclosed-quote fixture.
TRAILING_DELIMITER → Review the final field
The corpus flags a delimiter at every non-empty physical line's end. This is not a separate issue group in the tool. A final delimiter can represent a legitimate empty value. In thetrailing-delimiter fixture, the extra unnamed header is what needs attention; do not delete all trailing delimiters indiscriminately.
Compare short rows, extra fields, and broken quotes
Grace's record has two fields; Katherine's has four. “Normalize widths” can append empty trailing fields to short records, but refuses the entire repair when any record is wider than the headers. It does not truncate unexpected. Even for a short record, first confirm the missing value belongs at the end: padding cannot identify a missing middle field. Undo reverses the most recent repair.
id,note
1,"this quote never closes
2,another value
Here, adding a comma will not close the quoted field. Compare it with thevalid multiline CSV, where an embedded newline is enclosed in quotes and a literal quotation mark is doubled.
Confirm headers and destination requirements
Auto detection is a guess. Duplicate labels can make the first row look like data and hide header warnings. If it contains column names, choose “Use as header” and parse again. Choose “Treat as data” only when the file really has no header record.
The validator blocks repaired-file export while column-count, duplicate-header, empty-header, quote, or parser errors remain; the error report stays available. Preview-only files also cannot produce a complete export. A clean structural result still does not validate database types, required fields, unique keys, or foreign keys. Excel can display a value that your database schema rejects. Check those destination rules separately, and use the encoding guidewhen the characters themselves look wrong.
What this tool does
CSV Validator and Checker
The validator checks delimiter consistency, duplicate or empty headers, inconsistent column counts, malformed quotes, invisible characters and trailing delimiters. It reports locations without sending the file anywhere.
How to use it
Open the CSV and verify its detected encoding, delimiter and header setting.
Review issue groups and parser messages with row or column references.
Apply a reversible header or width repair, then download the report or repaired CSV.
Common tasks
Find rows with the wrong number of CSV columns.
Detect duplicate or empty headers, malformed quotes and invisible characters.
Check CSV encoding and delimiters before repairing or importing the file.
Privacy and local processing
Local files are read by a dedicated browser worker and are not uploaded to an application server. File contents and filenames are not included in analytics events. Loading a public URL is an explicit direct request from your browser and may fail when the remote server blocks CORS.
Supported edge cases
RFC-style quoting errors are reported from the parser rather than silently ignored.
Width normalization only pads missing trailing fields. Rows wider than the header block automatic repair; extra fields are never dropped.
Encoding confidence is an estimate; use the manual selector when characters look wrong.
Frequently asked questions
Does this prove a CSV follows every RFC 4180 rule?
No. CSV dialects differ in practice. The validator reports common structural problems and the detected dialect, but it does not claim universal RFC compliance.
Can repairs be undone?
Yes. Header renaming and row-width normalization keep one reversible repair step in the current browser session.
Does the validation report include my data?
No. It contains issue names, row or column references and suggested actions, not cell contents.