Data Validator

Paste CSV or JSON rows, write one rule per line (required, unique, type, min/max, length, regex, enum) and get every violation listed with its record, field, value and reason. Runs in your browser; nothing is uploaded.

Try:
Report

About this tool

Data Validator checks pasted CSV or JSON rows against the field rules you write. It is useful before imports, migrations, mail merges, API uploads, or any other step where bad rows are expensive to discover later.

Write one rule per line:

email:required
email:type=email
age:type=int
age:min=18
age:max=120
plan:enum=free|pro|team
id:unique

The report lists every violation with its record, physical line, field, offending value, broken rule, and a short explanation. The tool is report-only: it never modifies your data and it runs locally in your browser.

Worked example

Input CSV:

email,age,plan
[email protected],34,pro
bad-email,200,gold

Rules:

email:required
email:type=email
age:type=int
age:min=0
age:max=120
plan:enum=free|pro|team

Output highlights three violations on record 2: the invalid email, age above 120, and plan outside the allowed enum.

Options and limits

FAQ

Which validation rules are supported?

Use required, unique, type=int|float|bool|date|email|url, min / max for numeric ranges, minlen / maxlen for character counts, regex=..., and enum=a|b|c. You can also write bare type shorthand such as age:int.

Do optional blank values fail type, range, regex, or enum rules?

No. Every rule except required is skipped for a blank or missing value. Combine rules such as email:required and email:type=email when a field must be present and must match a format.

Can I validate JSON as well as CSV?

Yes. JSON can be an array of objects, one object, or JSON Lines. Field names come from object keys. CSV can use header names, or 1-based column numbers when the header option is off.

Are regex rules anchored automatically?

No. Regex rules use the pattern you provide. Add ^ and $ yourself when the whole value must match, for example email:regex=^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$.

Developer & Automation Access

Run it from the terminal

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

gizza tool data-validator "email,age,plan
[email protected],34,pro
bad-email,200,gold" 'rules=email:required
email:type=email
age:type=int
age:max=120
plan:enum=free|pro|team'

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/data-validator/?data=email%2Cage%2Cplan%0Aa%40b.com%2C34%2Cpro%0Abad-email%2C200%2Cgold&rules=email%3Arequired%0Aemail%3Atype%3Demail%0Aage%3Atype%3Dint%0Aage%3Amax%3D120%0Aplan%3Aenum%3Dfree%7Cpro%7Cteam&input_format=auto&header=true&delimiter=auto&max_issues=50&format=text

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