Two files, one explicit import contract
The data file contains the rows you want to inspect. The schema file names the fields and rules you expect. For example, an id can be a required number with a minimum of 1, an email can be a required email-shaped string, and units can be a number between 0 and 999. Put one rule on each schema row. Minimum and maximum apply only to number rules. Leave an optional bound empty. Duplicate schema field definitions and unsupported types are rejected rather than silently accepted.
A sample with three different mistakes
The built-in example has one valid record and one deliberately invalid record. In the second record, invalid_email is not email-shaped, units is -3 despite a minimum of 0, and 2026-13-04 is not a valid calendar date. The checker reports NOT_EMAIL, BELOW_MIN and NOT_DATE, each against CSV row 3 because the header occupies row 1. Press Load example to reproduce those three violations. Change the bad values, run again and compare the resulting report. Editing an input invalidates the previous export so it cannot be mistaken for a current result.
Understanding the error report
Each output row gives the CSV row number, column name, violation code and supplied value. MISSING_REQUIRED means the required field is absent or blank. NOT_NUMBER and NOT_DATE identify values that fail the implemented parsers. BELOW_MIN and ABOVE_MAX identify numeric bounds violations. NOT_EMAIL is a basic format check; it does not verify that a mailbox exists or can receive mail. The report can be downloaded as CSV for correction work or JSON for a repeatable review record. Neither export changes the source file.
Use it before a migration or recurring import
This is useful when a billing export, customer list or inventory feed must satisfy known field requirements before it enters another system. Start from the receiving system's documented requirements, encode the supported rules in the schema, and test a small representative file. The checker does not connect to that system or infer its undocumented rules. A passing result is not proof that a database import, business process or regulatory requirement will accept the data.
Format limits and deliberate exclusions
Inputs must be UTF-8 CSV, with no more than 6 MiB and 25,000 data rows per file. The on-screen preview shows up to 500 output rows; the downloadable report contains the full computed result within the input limits. Dates use the application's strict calendar-date handling. This tool does not calculate spreadsheet formulas, convert XLSX files, enforce relational foreign keys, support a remote schema registry or claim full standards-compliant email validation. Extra fields are not automatically forbidden; only the explicit supported schema rules are applied.
Keep the data on your device
The application processes the two files inside a network-disabled browser workspace. No account, upload or database connection is required. You can save a portable workspace JSON file and restore it later, but the website does not keep a cloud copy or recover lost files for you. The parent page records only fixed tool-interaction labels, not row values, filenames or error details. Reports can contain personal or business data copied from the source file, so store and share them with the same care as the original CSV.