Find incomplete CSV rows

Flag CSV rows that have too few or too many fields, or a blank cell in a column you mark as required. Runs in your browser, no upload.

Incomplete rows

About this tool

Find incomplete CSV rows scans a CSV and flags every row that doesn't fit the shape of the file. It reports three kinds of problem:

Paste a CSV (with or without a header), choose the delimiter (, / tab / ; / |), and optionally list the columns that must always be filled in — by name (e.g. email,phone) or by 1-based position (e.g. 1,3). Each flagged row comes back with its line number, its field count, and which checks it failed.

Privacy

Everything runs in your browser via WebAssembly — your CSV is never uploaded. Also available from the gizza CLI and in chat, which return the full report as structured JSON (expected field count, column names, and every flagged row).

Common uses

FAQ

How does the tool know how many columns a row should have?

When header is on (the default) the header row sets the expected field count and the column names. With header off, the first data row sets the expected width instead. Every other row is compared against that count and flagged as "too few" or "too many" fields.

Will a comma inside quotes be flagged as an extra field?

No. The parser understands standard CSV quoting, so "Smith, John" stays one field. A "too many fields" flag almost always means an unescaped delimiter — a raw comma (or your chosen delimiter) that was never wrapped in quotes.

How do I mark columns as required?

List them comma-separated in the required field — by header name (e.g. email,phone) or by 1-based position (e.g. 1,3). A name that isn't in the header or a position past the expected width is reported as an error rather than silently ignored, so a typo can't hide missing data.

Which delimiters can I use?

Any single character, or the words comma, tab, semicolon, pipe. Anything else (like a two-character string) is rejected with an error so you know the delimiter wasn't applied.

Developer & Automation Access

Run it from the terminal

Same engine as this page, headless — via the gizza CLI:

gizza tool csv-find-incomplete-rows "name,email,phone
Ada,[email protected],123
Bo,,
Cy,[email protected],456"

New to the CLI? Get gizza →

Open it by URL

Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:

https://gizza.ai/tools/csv-find-incomplete-rows/?data=name%2Cemail%2Cphone%0AAda%2Cada%40x.com%2C123%0ABo%2C%2C%0ACy%2Ccy%40x.com%2C456&header=true&delimiter=%2C&required=email%2Cphone

Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.