Back to all projects

Spreadsheet ComparisonFind the change, even when rows move.

A native Mac app for comparing records across CSV and spreadsheet exports without uploading the files.

Spreadsheet Comparison: Inspect the difference
My role
Product design, development & launch
Built for
People checking exports, inventories and data migrations
Platform
macOS 14+ · Swift

The job to solve.

Comparing files line by line breaks down when rows move or the same field has different headers. The useful question is which record changed, not which line moved.

The approach

Spreadsheet Comparison maps related columns and matches records using a chosen key. Results separate changed data from records found in only one file, with complete values available for inspection.

Take a closer look.

A 21-second visual tour made from real product screenshots. Captioned, with no audio. Press play when you’re ready.

Screen descriptions
  1. 0:00
    Compare by identity

    The real product website introduces a comparison that matches records instead of relying on row order.

  2. 0:07
    Inspect the difference

    A real application screenshot shows the comparison result using sample records.

  3. 0:14
    Keep the files local

    Review changes and export a report from the Mac app. This visual tour uses synthetic example data.

What I built.

A native utility that turns a messy data-checking job into a sequence of explicit, reviewable decisions.

Connect different layouts
Import CSV, XLS, XLSX, ODS or Numbers, choose sheets and review suggested column mappings.
Match the record
Use one or more key fields and review duplicate warnings before treating two rows as a pair.
Inspect and export
Search and filter the result, open complete records side by side and export the current comparison. Input files stay on the Mac.

Out in the world.

Example records are synthetic. Spreadsheet formula results are read from the file, not recalculated by the app.

Visit Spreadsheet Comparison

9,258 requests served

Cloudflare · spreadsheetcomparison.com
30 days ending 30 September 2026.

Requests measure network activity, not unique visitors, customers or revenue.

Have a similar
idea in mind?

Let’s talk about what you want to build.