Practical file guide

How to compare two CSV files by a unique ID

When rows have moved between two exports, comparing line 25 with line 25 produces noise. A stable identifier lets you compare the same record across files and distinguish new records from edited ones.

Open CSV comparison

Choose exports with comparable scope

Use the same filters, column names and business period for both exports. A missing record might mean a filter changed, not that the underlying item was deleted. Label the older export Before and the newer one After. This tool reports differences between those files; it cannot infer why the source system changed.

Prepare UTF-8 CSV or TSV

Export the relevant sheet as UTF-8 CSV. Keep one header row with unique, non-empty names. Both files need the same column names, although their order may differ. Commas, semicolons and tabs are supported; quoted commas and line breaks remain part of the original cell. If an encoding error appears, re-export as UTF-8 instead of accepting garbled characters. XLSX formatting and formulas are outside this comparison.

Pick an identifier that really is unique

An order ID, inventory SKU or stable contact ID is usually more reliable than a display name. Select Inspect files, review the row counts, then choose that key column. Every non-empty key must occur at most once in each file. Duplicate or blank keys stop the job with a record number so you can correct the source export. The tool never picks an arbitrary duplicate for you.

An example with reordered records

Before contains SKU 001 with stock 8 and SKU 002 with stock 4. After contains SKU 003 with stock 7 and SKU 001 with stock 6. Match by SKU: 003 is added, 002 is removed, and 001 is changed from 8 to 6. Moving 001 to another line does not itself count as an edit. A changed key is treated as one removal and one addition.

Understand exact text comparison

The tool keeps 001 distinct from 1. Spaces, uppercase letters, date formats and decimal formatting are also significant: 10.0 and 10 are different strings. It does not trim, case-fold, calculate formulas or convert numbers. Normalize intentionally in the source system if you want those differences ignored, and keep untouched copies of the originals.

Read row counts and detail lines separately

Added, removed, changed and unchanged counts refer to records. A record with three edited cells produces three detail lines. Additions and removals use a JSON representation of the whole row in the after or before column. The screen previews 50 detail lines, with long cells shortened only for display; the downloaded report contains every accepted detail.

Open the report without changing identifiers

Download the comparison CSV and import its columns as text in your spreadsheet app. Double-clicking a CSV can let that app strip leading zeros or reinterpret dates. Formula-like exported values receive an apostrophe prefix for spreadsheet safety, so the report is for review, not for overwriting source data. Input files are never modified.

Keep the job bounded and private

Each input is limited to 5 MB, 20,000 data rows, 100 columns and one million cells. Reports stop at 100,000 detail lines or 20 MB rather than returning a partial result. Parsing and matching run in a local worker. Clear or leave to discard files and results; downloaded reports remain where you saved them.