Validate a CSV column with a regex

Paste CSV, choose a column, and flag values that do not match your required pattern — or invert the check to find forbidden values.

Try:
Validation report

About this tool

Regex Column Validate checks one CSV column against a regular expression and lists which rows fail the rule. Use it for format checks such as ZIP/postal codes, phone-like IDs, invoice numbers, SKU shapes, or any one-column data-quality rule that is easier to express as a regex.

By default the regex must match the whole cell. Turn off full-cell matching when you only need the pattern to appear somewhere inside each value. You can also invert the report to flag values that do match a forbidden pattern.

Worked example

CSV:

name,zip
Ada,12345
Bo,1234
Cy,90210

With column zip, pattern \d{5}, and full-cell matching on, the text report flags Bo's row because 1234 has only four digits:

Rows checked: 3
Valid: 2
Invalid: 1
row 2 (line 3): "1234" — does not match the pattern

Limits & edge cases

FAQ

Does the pattern have to match the whole cell?

By default, yes. The tool anchors the pattern to the full cell so \d{5} means exactly five digits. Turn off "Require full-cell match" to accept any substring match inside the cell.

Can I find values that match a forbidden pattern?

Yes. Change "Flag which values" to "Values that match". That inverts the report and is useful for finding all-caps placeholders, test IDs, or other disallowed formats.

How do I use case-insensitive or multiline regex flags?

Use the checkbox for case-insensitive matching, or embed Rust regex inline flags in the pattern, such as (?i)hello or (?m)^ID-\d+$.

Can it validate multiple columns at once?

No. This focused tool validates one column and one regex rule per run. For a larger schema with multiple rules, use a dedicated data validator or run this tool once per column.

Developer & Automation Access

Run it from the terminal

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

gizza tool regex-column-validate "name,zip
Ada,12345
Bo,1234
Cy,90210" 'column=zip' 'pattern=\d{5}'

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/regex-column-validate/?data=name%2Czip%0AAda%2C12345%0ABo%2C1234%0ACy%2C90210&column=zip&pattern=%5Cd%7B5%7D&full_match=true&ignore_case=true&report=non-matching&has_header=true&allow_blank=true&delimiter=auto&max_issues=50&output=text

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