Compare Two CSV or Excel Files

Match rows by a key column, see exactly which records were added, removed, or changed, then merge the changes you want.

Processed in your browser. Files never leave your device.

Key column(s)
Paste or upload both files to pick a key column.

Batch compare many file pairs Pro

Upload several original files and the same number of changed files. Pairs are matched by file name, or by name order when names differ. The comparison options above apply to every pair.

Original files
Changed files

How it works

  1. Paste or upload the original and the changed file (CSV, TSV, or Excel .xlsx).
  2. Pick the column that identifies a record, such as id, email, or sku. Structura suggests one.
  3. Compare to see added, removed, and modified rows with the changed cells highlighted.
  4. Untick any change you do not want, then download the merged file or a report.

See what changed between two exports, record by record

A plain text diff breaks as soon as rows are re-sorted, and side-by-side spreadsheet views make you hunt for changes cell by cell. Structura matches records by a key column instead, so it can tell you that customer C002 changed email, that C003 disappeared, and that C005 is new, even if the rows are in a different order.

It is built for the exports people actually compare: monthly CRM and customer lists, product catalogues and price lists, inventory counts, finance extracts, and API data dumps. Everything runs in your browser, so you can compare customer or financial data without uploading it.

What you get

Worked example

Load the example: January has four customers and February has four. Matched on customer_id, Structura reports one added customer (C005), one removed (C003), and two modified (C001 changed plan and MRR, C002 changed email). C004's MRR went from 19 to 19.00, which is not flagged because number formatting is ignored. The new country column is reported separately.

Limits

Each file can be up to about 5 MB or 20,000 rows. Excel files are read from the first non-empty sheet; formulas are compared by their saved values. Old .xls files are not supported, so save as .xlsx or CSV first.

Popular uses: Compare two Excel files

Related tools: JSON Compare · PDF Compare · CSV Cleaner · CSV Import Validator · Data Profiler

FAQ

Does my data get uploaded or stored?

No. Processing runs entirely in your browser. Structura does not upload your files for processing and does not keep file contents on a server. Closing the tab clears the in-memory copy.

Is processing private / local-only?

Yes for the tool’s job. Your files stay on the device. Optional Cloudflare Web Analytics may record page views and anonymous events such as tool runs and downloads, never file contents or file names.

How do I compare two CSV files by ID?

Load both files, tick the ID column under Key column(s), and click Compare. Rows are matched by that ID regardless of their order, and each differing cell is listed with its before and after value.

Can I compare Excel files?

Yes. Upload .xlsx files directly. Structura reads the first non-empty sheet and compares saved cell values. You can mix formats, for example an Excel export against a CSV export.

What if my file has no unique ID?

Choose Whole row mode. Structura then reports rows that exist only in the original or only in the changed file. You can also tick several columns to form a composite key.

What happens with duplicate keys?

Duplicates are listed in a warning. The first copy in one file is paired with the first copy in the other, the second with the second, and so on.

Can I merge only some of the changes?

Yes. Every difference has an Apply checkbox. The merged CSV starts from the original file and applies only the ticked changes.

Do I need an account?

No. All Structura tools are free to use without signup.

Need a data tool we don’t have yet?

Tell us what you are trying to convert, clean, compare, or validate. We prioritize tools based on real requests. Want XML or Google Sheets comparison, or scheduled comparisons of the same export?

Request a tool →