Free browser tool

Validate a CSV file

Drop or paste a CSV, choose a rule for each column and see every problem with its record, CSV row and column before you import the file. Nothing is converted, trimmed or removed.

Runs on this device. No upload, account or tracking.

Your CSV and rules

UTF-8, up to 500 KB, read on this device
    Empty

    The first row is the header. Header names must be non-empty and unique.

    Options

    Cells are checked exactly as written: nothing is trimmed or converted. Spaces-only cells count as blank.

    Rules for each column

    Choose how to check each column. Keep identifiers such as 00123 as Text so the leading zeros count.

    Advanced: the rules as JSON
    Empty

    A list of rules such as [{"column": "qty", "type": "integer", "required": true, "minimum": "1"}]. Keys: column, type (text, integer, decimal, date, boolean, email), required, unique, minimum and maximum (decimal text), date_format (YYYY-MM-DD, DD/MM/YYYY or MM/DD/YYYY) and allowed (a list of exact values). Editing the builder rewrites this JSON.

    Up to 500 KB of UTF-8, 5,000 rows, 100 columns and 100 rules. The report lists the first 100 problems and counts all of them; it holds no cell values. Email addresses are checked for syntax only.

    About this tool

    What this tool does

    Validate a CSV file in your browser against rules you set per column: text, whole numbers, decimals, real calendar dates, true/false and email syntax, with required, unique, minimum, maximum and allowed values, without changing or uploading the file.

    Limits and safe use

    Up to 500 KB of UTF-8, 5,000 rows, 100 columns and 100 rules. The report lists the first 100 problems and counts all of them; it holds no cell values. Email addresses are checked for syntax only. Use the problem list to fix the file at its source. The check never changes, trims or converts a value; email addresses are checked for syntax only, and nothing is sent to a server or a model.