Validate more than CSV syntax

A file can be valid CSV and still be dangerous to import. CSVProof checks structure, parser assumptions, record identity and values that familiar tools may silently reinterpret.

Private early access · macOS & Windows

Product previewReview table exceptions
CSVProof
Local file
vendor-september.csv×
DataTransformCompareIssues 6RecipeRun report
6 issues need a decision12,475 rows pass
Duplicate customer_idChoose the row to keep
Keeprowcustomer_idname
177001177Meridian Supply
902001177Meridian Supply AS

From bytes to business keys

Each finding includes its location, the rule it failed and what CSVProof did, not a generic “invalid file” message.

Encoding & dialect

BOM, encoding, delimiter, quote/escape and newline consistency.

Record structure

Malformed quotes, missing or extra fields, inconsistent width and empty headers.

Value risks

Leading zeros, long identifiers, date-like text, invisible characters and formula-like values.

Data contract

Required columns and values, allowed patterns and ranges, unique or composite keys and lookup rules.

Runs locally in your browser

Free CSV validator

The local integrity checker will share this page with clear, documented tests.

No file upload. No CSV content in analytics. The tool itself is reserved for the dedicated implementation round.

Get validator access

A CSV checker needs rules for the data

Syntax is only the first layer. Save the expectations that make this particular export safe to accept.

CheckExamplesDecision
ColumnsRequired, optional and unexpected headers; order changes and schema drift.Accept or stop
KeysUnique or composite identity, duplicates, nulls and lookup cardinality.Review ambiguity
ValuesRequired values, patterns, ranges, lengths, allowed sets and explicit types.Preserve, fix or reject
ProfileNull and distinct counts, minimums, maximums and suspicious distribution shifts.Investigate drift
OutputEncoding, delimiter, quoting and newline normalization before the file is written.Preview the change

A warning should explain itself

CSVProof distinguishes a malformed record from a value that is valid but easy to damage elsewhere. You decide whether to reject, preserve or transform it.

Interpretation riskRow 184 · account_id
00000000000000000042

This 20-character numeric-looking value begins with zeros. Treating it as a number would change its identity.

Preserve as textAdd rule

Turn a good inspection into a contract

After reviewing one delivery, save the parser and validation rules. The next run fails visibly when the delimiter, schema, key uniqueness or required fields drift.

Saved contract · v28 columnscustomer_id uniquecountry required
Incoming file9 columns +13 duplicate IDs !1 blank country !

Catch the exceptions before the next system does

CSVProof is currently in private early access for macOS and Windows.

Get early access