CSV Linter
Free online CSV linter and validator. Paste your CSV or upload a file to find ragged rows, unbalanced quotes, mixed delimiters, BOM issues, blank rows, and line-ending problems — with exact line numbers and fix hints. 100% private: everything runs in your browser.
Free forever100% client-sideNo signupNo uploadLint your CSV
Results
| Severity | Line | Issue | Details |
|---|
What this linter checks
A heuristic linter, not a full RFC 4180 certification tool. Line breaks inside quoted fields are handled correctly per RFC 4180. Severity levels: error (will likely break parsers), warning (suspicious, probably a mistake), info (worth knowing).
| Rule | Severity | Description |
|---|
Frequently asked questions
What does a CSV linter check?
A CSV linter scans your file for structural problems: rows with more or fewer columns than the header, unbalanced or stray quotes, mixed delimiters, mixed line endings, blank rows, trailing delimiters, duplicate or empty header names, leading and trailing whitespace inside fields, and a UTF-8 BOM. Each finding gets a severity level of error, warning, or info plus the exact line number so you can fix it fast.
What is the difference between a CSV linter and a CSV validator?
A validator checks whether a file follows a defined format, usually RFC 4180. A linter goes further and flags likely mistakes and bad practices even when the file technically parses, such as mixed line endings or whitespace inside quoted fields. This tool is a linter with honest severity levels: it tells you what will break a parser and what is merely suspicious.
Is my CSV data uploaded anywhere?
No. Everything runs in your browser with JavaScript. Your CSV never leaves your device, there is no upload, no account, and no server log of your data. You can even disconnect from the internet after the page loads and the linter keeps working.
What are ragged rows and how do I fix them?
Ragged rows are rows whose column count differs from the header, for example a header with 4 columns and a data row with 3 or 5. They usually come from a missing delimiter, an extra comma inside an unquoted field, or a line break that split one record into two. Fix the row so every record has the same number of fields, quoting fields that contain the delimiter.
How does automatic delimiter detection work?
The linter tries comma, semicolon, tab, and pipe on a sample of your file and scores each candidate by how consistently rows split into the same number of columns. The most consistent candidate wins, with a preference for multi-column results. If a single row parses cleanly under a different delimiter than the rest, you get a mixed-delimiter warning pointing at that row. You can also set the delimiter manually.
What is a BOM and will it break my CSV?
A BOM, byte order mark, is an invisible character some programs put at the very start of a UTF-8 file. Excel on Windows often needs it to detect UTF-8 correctly, but many parsers and databases choke on it or show it as strange characters at the start of your first header. The linter reports it as info so you can decide: keep it for Excel, remove it for strict parsers.
Does this tool fully validate RFC 4180?
Honestly, no tool can fully validate RFC 4180 because the standard itself is loose in places. This is a heuristic linter, not a certification tool. It does handle the tricky RFC 4180 case correctly: line breaks inside quoted fields are treated as part of the field, not as new rows. What it will not do is bless your file as one hundred percent standard compliant.
How is this different from a CSV to JSON converter?
A converter changes your CSV into another format such as JSON. A linter checks the CSV itself for errors without converting anything. Lint first, convert second: a clean lint report means the converter output will have the right shape. When your file is clean, try our CSV to JSON converter.
Free tool by NRTechStudio