Skip to content
CSV Guard

CSV contract checker

The partner file broke again. Find exactly which column and which rows.

Write down the columns you expect, drop in the CSV your partner sent, and CSV Guard checks every header and every row. You get renamed and missing columns, bad dates, duplicates, broken numbers and risky cells with row numbers, plus an evidence note you can send back.

See the schema format
  • Renamed
  • Wrong date format
  • Duplicate ID
Demo sheet. Orders and emails are invented.

What it is

A free checker that compares a CSV file with the contract you agreed on. It reads quotes, commas inside values, semicolons, tabs and Excel exports, and runs fully in your browser.

Who it is for

Operations teams importing partner data, data engineers, founders babysitting a fragile import and support people caught between two vendors.

What it solves

Imports fail with vague errors, or worse, load wrong data quietly. Here every problem has a column, rows and an example, so the fix starts with facts instead of a long email thread.

Check a file

Files are read in this tab. Nothing is uploaded or stored.

One column per line with a type and optional flags, or just paste the expected header line.
Paste the content or open a file. Commas, semicolons, tabs and pipes are detected automatically.

Nothing checked yet

Paste a schema and a CSV, or load the demo to see a full report.

The evidence note includes example values from the file. Check it before you send it outside your team.

Schema format

Write the contract once and reuse it for every delivery.

order_id int required unique
email email required
amount decimal required
currency enum:EUR|USD|TRY
created_at date required
sku text
  1. Name first

    Write the column name exactly as agreed. Matching also catches different case, spacing and small typos, and tells you which one it was.

  2. Then a type

    text, int, decimal, date, email, url, bool, or enum: with the allowed values joined by a vertical bar.

  3. Then flags

    required means no empty cells, unique means no repeated values. Leave them out when they do not apply.

  4. Or just a header

    Paste the expected header line and every column is checked for presence and order only.

How to use it

  1. Describe the contract

    List the columns you expect with types and flags. Keep it next to your import code.

  2. Add the file

    Paste the CSV or open the file. The separator, quotes and line endings are detected for you.

  3. Read the problems

    Errors break imports or load wrong data. Warnings are worth cleaning but will not stop you.

  4. Send the evidence

    Copy the evidence note into the partner thread, or download the problems as a CSV for your team.

Good to know

  • Dates are expected in ISO form. Day first and month first formats are flagged because they are ambiguous.
  • Files up to 20 MB are fine in most browsers. Bigger files should be split.
  • Excel files must be saved as CSV first.
  • Column types are checked per value. A column can pass even if one value looks odd to a human.

Questions

Is the file uploaded anywhere?

No. Parsing and checks run in this page, and the file never leaves your device.

Why are formula cells an error?

A cell starting with = or @ can run as a formula when someone opens the file in a spreadsheet. That is a known attack called CSV injection.

What is a byte order mark?

An invisible character some tools put at the start of UTF 8 files. It can glue itself to the first header name and break matching.

Can it fix the file for me?

It tells you exactly what to fix and where. Changing partner data automatically would hide the problem instead of solving it.

Talk to the builder

Questions, ideas or a job offer? Send a message on X or Telegram.

Support the builder

If this tool saved you time, you can send a tip to this EVM address from your own wallet.

0xd28Fd90eD69092bd01598f237aad33a0cc9c3EeA