Compare CSV and Excel
files on your Mac.
See which records changed or went missing, even when rows move and column names differ. Your files stay on your Mac.
macOS 14 or later
Same order. Different city.
Interactive example with synthetic records.
4 sample records
| Order ID | Monday.csv Delivery city | Tuesday.csv Delivery city | Result |
|---|---|---|---|
| Bristol | Bristol | Unchanged | |
| Leeds | York | Changed | |
| Bath | No record | Only in Monday.csv | |
| No record | Exeter | Only in Tuesday.csv |
Select an Order ID to inspect its full sample record.
The row order can change. The key keeps the comparison on the same record.
Compare exports with
different layouts.
Different headers and shuffled rows are part of the job. Start with the fields that describe the same thing.
Open your files
Load CSV, XLS, XLSX, Numbers or ODS. Choose the sheet to compare from each workbook. Your input files stay on your Mac.
Connect the columns
Review header and data-overlap suggestions. Map fields yourself, including values inside supported JSON objects.
Choose a key, inspect the changes
Use one field or a composite key. Review duplicate warnings, filter results and open complete rows side by side.
See what changed
in each record.
Inspect the complete row
Search keys and values. Filter changed and one-file-only records. Inspect the full row, then export a comparison report.
Choose a good comparison keyKnow what you are comparing
Excel import reads a selected sheet and its saved values. Cached formula results are not recalculated.
Read the Excel import guideA useful trial.
A one-time price.
Try your own exports before buying.
Up to 5,000 data rows per file and ten successful comparisons. Failed or cancelled comparisons do not use a trial comparison.
$20 USD, lifetime
₹999 in India. See GBP, EUR and CAD prices.
One payment removes the trial’s row and comparison limits. Technical Excel import limits still apply. Read the limits and trial details.
Buy lifetime accessA license unlocks the app. Keep it for offline activation.
Help with your next comparison
Practical guides for the parts of an export that need a closer look.
Find missing rows between two CSV files
A smaller row count tells you something is different. Matching IDs tells you which records need checking.
4 minute guideCompare two Apple Numbers files on a Mac
Select the tables you need and compare their records, even if the rows have moved.
4 minute guideCompare LibreOffice ODS and Excel files by their data
Check whether the records survived a format change without treating document formatting as data.
4 minute guideCompare a CSV file with an Excel XLSX worksheet
One export is CSV and the other is Excel. Compare the fields they share, with a few checks for format differences.
4 minute guideCompare inventory CSV files by SKU and warehouse
A SKU can appear in more than one warehouse. Match the location as well before reviewing quantities.
4 minute guideCheck a CRM migration by comparing CSV exports
Check the customer fields you moved without assuming that two equal row counts mean a successful migration.
4 minute guideKeep leading zeros when comparing CSV and Excel IDs
A postal code or customer ID can contain digits without being a number you should calculate with.
4 minute guideCSV differences caused by spaces, letter case and NULL
Decide which differences matter before cleaning values that only look the same.
4 minute guideCompare two CSV files by key, even when rows move
A reordered file should not turn every row into a difference. Start with record identity.
6 minute guideCompare Excel files on a Mac by their records
Select the right worksheets and compare their data. Know what happens to formulas and formatted values.
6 minute guideCompare CSV files with different column headers
Connect Customer ID to client_id without rewriting your source exports.
5 minute guideCompare a JSON address with separate CSV columns
Compare address.city with Billing City while keeping billing and shipping fields distinct.
6 minute guideWhat duplicate keys mean in a CSV comparison
A repeated ID is a question about identity. Resolve it before trusting row pairings.
5 minute guide