Compare Excel files without formulas.

Drop two XLSX files and find what changed between them. Missing rows, new rows, changed values, duplicates and near matches. No VLOOKUP, no XLOOKUP, no conditional formatting.

File A
Drop file A here
CSV, TSV, TXT or XLSX
File B
Drop file B here
CSV, TSV, TXT or XLSX

Why Excel comparisons break

Two exports that should match almost never match cell-for-cell. One file has trailing spaces in the customer name, the other strips accents. One left-pads order numbers with zeros, the other does not. Both have a duplicated row from an export that ran twice. By the time you spot any of this with a VLOOKUP column and conditional formatting, you have already wasted half an hour and the result still hides almost-matches.

MessyMatch reads your XLSX workbooks directly, normalises values consistently before comparing, and gives you an Excel diff that separates confirmed matches from messy formatting noise.

VLOOKUP and XLOOKUP are not the right tool for messy data

VLOOKUP requires you to write a formula, decide which column is the lookup key, then add another column with IFERROR to highlight misses. XLOOKUP is cleaner but you still have to do it twice (A against B, then B against A) to catch rows that exist only on one side. Neither normalises text before matching, which means an extra space in the name column is treated as a different value.

This tool is a VLOOKUP alternative for one-off reconciliations. You drop the files, you get the answer. If you need a formula in your live workbook, keep using VLOOKUP. If you need to compare two exports once and act on the result, this is faster.

Compare by key column or by full row

Pick the column that identifies each record. Customer ID, order number, SKU, invoice reference. The tool builds an index on that key and matches rows even when the two files list columns in a different order. If your data has no stable identifier, use full-row mode and every cell counts as part of the row identity.

Find duplicates and changed rows

Excel comparisons usually need three answers at once: which rows are new, which are gone, and which are technically present in both files but have a different value somewhere. MessyMatch returns all three. The duplicates section lists keys that appear more than once inside each file, so you do not import the same row twice. The changed-rows section lists keys present in both files with at least one column that differs, and tells you which column.

Catch almost-matches caused by messy formatting

"José García" and "JOSE GARCIA " and "Jose Garcia" all refer to the same person. Standard Excel comparisons treat them as three different values. MessyMatch flags them as almost-matches with the reason. Accent difference, casing difference, trailing whitespace. So you can decide whether to merge or keep them apart.

About XLSX performance

XLSX is a zipped XML format. Reading it requires unzipping and parsing every cell in the chosen sheet, which is heavier than CSV streaming. Workbooks up to ~100,000 rows usually run fine in the browser; larger workbooks may need to be exported to CSV first. If your file exceeds the safe limit MessyMatch will tell you instead of hanging the tab. See the pricing page for the exact size caps per plan.

Related tools

Frequently asked questions

Can I compare two Excel files online?+

Yes. Drop two XLSX files in the cards above. MessyMatch reads both, picks the sheet you want (if multi-sheet) and produces a structured diff in seconds.

Do I need VLOOKUP or XLOOKUP?+

No. The tool replaces the manual VLOOKUP/XLOOKUP plus conditional formatting workflow with a one-click comparison. Add no formulas, edit no cells.

Can I compare by key column?+

Yes. After both files load, switch the comparison mode to 'key column' and pick the column that uniquely identifies each row (for example customer_id or order_number). Rows match across files even when the column order differs.

Can MessyMatch find duplicates inside an Excel file?+

Yes. The result shows duplicate keys within file A and within file B separately, so you spot internal duplicates before reconciling against the other file.

Can it detect changed rows?+

Yes. When two rows share the same key but differ in other columns, they are flagged as changed rows. You see the key, the column that changed, and the value in each file.

Are Excel files uploaded?+

No. Parsing and comparison happen inside your browser via a Web Worker. The XLSX file contents are processed inside your browser via a Web Worker and are not transmitted to our servers.

What if my Excel file is very large?+

XLSX is heavier than CSV because it is a zipped XML format and Excel readers hold the parsed grid in memory. For workbooks above ~100k rows, exporting to CSV first is usually faster and uses less memory. MessyMatch will warn you if the workbook exceeds the safe in-browser limits.