Productivity and Utilities

CSV Validator

Check a CSV for uneven rows, broken quotes and blank headers, with line and field numbers.

Paste CSV here or choose a file below. Up to 5,000,000 characters. Nothing is uploaded.

Your files stay on your device. They are processed in your browser and are never uploaded to SumPanda.

The checks follow RFC 4180: a quoted value may hold separators, quotes written twice and line breaks, a quote may not appear inside an unquoted value, nothing may follow a closing quote, and every record should have the same number of values as the first. Blank lines, repeated or blank headers and non CRLF line endings in a file you choose are reported as warnings because many programs accept them. Pasted text cannot show its line endings, because a text box turns them all into one kind. Line numbers count physical lines, record numbers count rows of data, and the first 100 problems are listed. Fixing the first quote problem often clears the ones after it.

Next step

How to use the csv validator

  1. Paste CSV text or choose a CSV file. A sample with problems is loaded so you can see the report.
  2. Choose the separator if it is not a comma, and say whether the first row is a header.
  3. Read the summary, then the table of problems with the line, record, field and character of each.
  4. Fix the first problem, because later ones are often caused by it, and copy the report if you need it.

What counts as a problem

The checks follow RFC 4180, the common description of CSV. A value that contains the separator, a quote or a line break must be inside double quotes, and a quote inside a quoted value is written twice. A quote in the middle of an unquoted value is an error, text right after a closing quote is an error, and a quote that is never closed makes the rest of the file one value. Every record should hold the same number of values as the first record, and a record with more or fewer is an error with its line number.

Some findings are warnings because many programs accept them: a blank line in the middle of the data, a header that is blank or repeated, line endings that are LF or mixed instead of CRLF (checked only for a file you choose, since a text box hides them), and a byte order mark at the start. The summary also shows the number of records and columns that were read.

Reading the report

Line is the physical line in the text where the problem is. Record is the row number in the data, counting the header as 1, which differs from the line when a quoted value spans lines. Field is the position of the value in the row, and Character is the position within the line, shown when the problem is at a specific character.

Only the first 100 problems are listed, with the total shown above. A single broken quote often changes how everything after it is read, so fix the first error and check again. This tool checks structure only. It does not decide whether values make sense. To convert a clean file, use the CSV to JSON converter or the CSV to SQL tool, and for list cleanup the text line tools. Files up to 5,000,000 characters are checked in your browser and never uploaded.

Assumptions and limits

  • CSV rules are those of RFC 4180, with the separator you choose.
  • Line, record, field and character numbers start at 1.
  • Only the first 100 problems are listed, though the total is counted.
  • Blank lines, repeated headers and line ending style are reported as warnings, not errors.

Formulas reviewed October 10, 2026. See the calculation methodology for how SumPanda rounds, tests and sources its formulas.

Frequently asked questions

How do I find the bad row in a CSV file?

Paste it here. Records with the wrong number of values are listed with their line number, along with quote problems and blank headers.

Why does one quote error list many problems?

An unclosed quote makes the reader treat following lines as part of one value, which shifts everything after it. Fix the first problem and check again.

Does a semicolon separated file work?

Yes. Choose Semicolon, Tab or Pipe from the separator list so the file is split the way it was written.

Is my file uploaded?

No. The check runs in your browser, so private data stays on your device.