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.
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.
How it works
- Paste or upload the original and the changed file (CSV, TSV, or Excel .xlsx).
- Pick the column that identifies a record, such as
id,email, orsku. Structura suggests one. - Compare to see added, removed, and modified rows with the changed cells highlighted.
- 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
- Added, removed, and modified rows, with before and after values for every changed cell
- Composite keys (for example
order_id+line) and a whole-row mode when there is no ID - Options to ignore whitespace, letter case, number formatting, and noisy columns like timestamps
- Warnings for duplicate or blank keys and for columns that were added or dropped
- A merged CSV with only the changes you accept, plus an Excel report with color-coded sheets
- With Structura Pro: batch comparison of many file pairs at once, and files up to 25 MB
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 →