Open the full cell value
CSV Diffby UsefulDock
Files stay on this device简体中文

CSV Diff — compare two CSV files

Open older and newer files, choose their ID columns, and see added, missing and changed records.

Free · No account

Older file A

The version before the update

or drop CSV / TSV · up to 10 MB

Newer file B

The version after the update

or drop CSV / TSV · up to 10 MB

You can select two files at once; they fill A then B in older → newer order.

Import settings encoding, delimiter, headers

Applies only to files opened next. Existing data stays unchanged. Without headers, the first record is kept and columns receive names such as column_1.

Open older file A and newer file B, in either order.

See the result, then try it

Compare

Interactive example · fictional data

See exactly what changed

Example input · older.csv
skunamepricestock
00123Blue·mug12.5020
00456Red·cap8.008
Example input · newer.csv
skunamepricestock
00456Red·cap8.008
00123Blue·mug·renamed13.2518

Dots show spaces; ∅ means empty. Swipe tables to see all columns.

Ready to play

This small example does not change your open files.

Rules, limits and questions

Use a stable, unique ID or SKU to align the earlier and updated files. Explicitly pair the fields to inspect, review old and new values, and open the corresponding input records before retaining a result for handover.

Your result: A comparison with record-level counts, field-level differences and frozen comparison rules. Retain a direct comparison to download its seven-column CSV or a complete offline HTML review within the supported limits.

Steps

  1. Open the earlier and updated supplier examples. Select the earlier list as the first input and the updated list as the second.
  2. Choose sku as the unique key in each file. Pair price and stock, and leave name out of the comparison. Keep exact key matching unless trimming or ignoring case is intentional; the selected field values are always compared as exact strings.
  3. Preview the key-level counts and field-level differences. Open the old or new input record to check context. Reordering a record is not itself a change.
  4. Confirm and retain the comparison. Download the difference CSV or an offline HTML review with the rules, source positions and complete difference details. To adjust this comparison, restore its saved settings and create a new preview; the retained result keeps its original scope.

Download example CSVs

These files contain fictional data. You can also close help and choose “Try sample files” in the toolbar.

Expected example result

  • 00123 is changed: price 12.50 becomes 13.25, and stock 20 becomes 18.
  • 00456 occurs only in the earlier file; 00900 occurs only in the update.
  • 00789 is unchanged although its row position moved.
  • With only price and stock paired, the sample has 1 added key, 1 missing key, 1 changed key and 1 unchanged key, represented by 6 field-level difference rows.

Scope and limits

  • Each input must fit the 10 MiB file limit and have one selected key that is present and unique. Blank or repeated keys block comparison; composite and fuzzy matching are not supported.
  • Field values are compared as exact strings. A formatting change such as 10.00 to 10 can appear as a difference; the tool does not infer price changes or business causes.
  • The conclusion covers only the paired fields. With no fields paired, it compares key membership only and does not establish that the full files are identical.
  • Offline HTML is available only for retained direct comparisons with a rule snapshot within 1 MiB and a complete report within 15 MiB. Oversized review exports fail without truncating the report; the original CSV export remains available.
  • The HTML contains input labels, column names, keys, compared values and source positions. It does not include excluded field values or complete input files. Keep and share the downloaded business data according to your requirements.
  • Source positions can be physical record-start lines or logical positions in a derived result. They are labelled separately and are not necessarily spreadsheet row numbers.
  • The report is not tamper-proof, a business-data certification, an import approval or an update patch. It does not infer that a missing key means a product was discontinued.

Questions

Do both CSV files need the same row order?

No. Matching uses the selected identifier rather than row position. In the examples, 00789 moves to another row and remains unchanged.

Can the two key columns have different names?

Yes. Select one key in each input and explicitly pair the fields to compare. For example, pair an earlier price field with an updated unit_price field when they describe the same value; the supplied examples both use price. Column names alone do not establish business meaning. Key trimming or case handling does not relax the exact-string comparison of field values.

What does the offline HTML review contain?

For a retained direct comparison within the supported limits, it includes the input identities, selected keys, field mappings, exclusions, matching rules, record-level counts and all difference details with their source positions. It has no scripts or external resources and can be read without the original website or input files. It contains business data; deciding who receives it is your responsibility.

Can I restore the same comparison later in this session?

Select the retained direct comparison and restore its comparison settings. This returns to its two input snapshots, key choices, matching mode and field mappings without changing the retained result. Preview again to create a new result. Clearing the session removes these local snapshots; the HTML review is readable evidence, not a saved workspace recipe.

Does a missing SKU mean the product was discontinued?

It means that the SKU was not present in that input file. The tool cannot infer why the supplier omitted it.

Related tool instructions

Close help and use the workspace tools to continue with your current files. The links below open in a new tab.

Full cell value

Review input record

Compare by ID, even when rows move

These fictional supplier lists match on sku and compare price and stock to find added, missing and changed records. This table shows the price check.

SKUOlder priceNewer priceResult
0012312.5013.25Price changed
0045630.00—Missing from newer file
00900—14.00Added record
007898.008.00Moved row, same values

Download older example · Download newer example

Use it for product, inventory or system-export snapshots. Each CSV / TSV must fit 10 MB and have a unique, nonempty ID. Fields use exact text comparison: 10.00 differs from 10. It does not infer why a row is missing or support fuzzy or composite keys.

Session and file limits

Up to 8 source files, 30 MB combined input and 16 retained datasets. Replacements keep old snapshots for review. At the limit, download your results before clearing the session.

Data stays in this page's memory and clears on refresh. Originals are never overwritten. Output is limited to 250,000 rows and 2,000,000 cells. Confirm that downloaded files were saved.