Compare Two Tables

Match records by ID to find what was added, removed or changed between two CSV, TSV or Excel tables—even when the rows are sorted differently.

One change, one removal, one addition

Compare Two TablesTwo exports are sorted differently; a row comparison misses the real changes. 1 changed, 1 removed, 1 added—matched by ID. Illustrative comparison of synthetic records. SUPERTOOL • CUSTOMER EXAMPLE Compare Two Tables Two exports are sorted differently; a row comparison misses the real changes. REPRESENTATIVE INPUT PROMISED RESULT Before CSV: ID,Name,Status001,Ada,Pending002,Bea,ActiveAfter XLSX [Current]: ID,Name,Status003,Cal,Active001,Ada,ActiveID | Result | Field | Before → After001 | Changed | Status | Pending → Active002 | Removed | record003 | Added | record 1 changed, 1 removed, 1 added—matched by ID. Illustrative example • Synthetic records • Changes matched by ID
Compare a Before CSV with the selected Current worksheet from an After XLSX.

Suppose your Before CSV has Ada (ID 001, Pending) and Bea (ID 002, Active). The Current worksheet in your After XLSX lists Cal (ID 003, Active) followed by Ada (ID 001, Active). Choose ID as the key and Name and Status as the comparison fields.

What changed between the two exports
IDResultDetail
001ChangedStatus: Pending → Active
002RemovedBea’s record is absent from After
003AddedCal’s record appears in After

The summary shows 1 changed, 1 removed, 1 added, 0 unchanged. The saved report has seven rows: one changed field, plus a record marker and the two selected fields for each added or removed record. Report rows count details; the summary counts records.

How to compare your files

  1. Upload the exports into the labelled Before and After areas.
  2. For CSV/TSV, confirm the separator and encoding. For XLSX, select the worksheet on each side and review any saved formula results. Then review the headers.
  3. Choose one or more key columns that uniquely identify each record. Select the fields you want to compare.
  4. Review the change summary and download the change-report CSV.

Read the saved report

The CSV includes status, row type, record key, changed field and before/after presence states and values. Keys, field names and values use explicit JSON text inside CSV cells: "001" preserves a leading-zero string, "" means present empty text, and null with its presence state identifies absence. Record markers also use null value cells. Decode JSON text when you need the original literal values.

Comparisons use exact text. Differences in case, spaces and line endings can be changes. Duplicate or empty keys are rejected; choose a unique key or a combination of columns. Reordering the input rows does not change which records match.

Files, limits and access

Upload CSV/TSV text files or XLSX workbooks. Mix formats or upload the same workbook on both sides to compare two worksheets. For text files, select comma, tab, semicolon or pipe and UTF-8 or Windows-1252 explicitly. The tool supports up to 20,000 input records per file and 20,000 report rows within its processing and size limits. Wide comparisons or large cells can reach those limits sooner; select fewer comparison fields or split the exports.

For Google Sheets, download CSV/TSV or XLSX and upload those exports. A direct Google Sheets connection is planned for later.

XLSX comparison uses stored values. Recalculate and save a workbook before explicitly choosing to compare its saved formula results. The tool does not interpret date/number formatting or padded numeric IDs; use text IDs or a CSV export when display text matters. Hidden worksheets, missing formula results, merged cells and error cells are unsupported.

Try one result without an account. Further results use your SuperTool account and available access.

Files are processed on SuperTool’s server using temporary working files. Upload only data you are permitted to share, and keep your original exports. The app compares text and stored worksheet values without executing spreadsheet formulas.

Explore all SuperTool tools.