Skip to content
UtilPick.
My toolbox
All tools
Favorites
Saved tools

Loading…

Recently used

Tools you open will appear here.

Get the desktop app
Settings
UtilPick.
All tools
All tools/Compare Spreadsheets

Compare Spreadsheets

Compare two versions of an Excel or CSV file and see the added, removed and changed rows and cells. Runs in your browser with no upload.

Loading the tool…

User reviews

No reviews yet. If you’ve used this tool, be the first to leave one.

User reviews

No reviews yet.

Write a review

Checking your sign-in status…

    From first step to finished result

    Compare Spreadsheets: complete guide

    Walk through the steps and examples, or jump straight to the topic you need.

    How to use
    Examples & choices
    Troubleshooting
    FAQ

    At a glance

    Input
    Add one Excel (xlsx) or CSV file each for the Before and After versions. Up to 20 MB per file, and up to 100,000 rows and 200 columns are read.
    Pairing
    If you choose a key column (employee ID, product code and so on), rows are paired by that value. If you don't, rows are matched by their content.
    Matching columns
    Columns are matched by header name too, so a file with a different column order is compared column to matching column.
    Defaults
    Ignore leading/trailing spaces is on and Ignore case is off. Unchanged rows are hidden.
    Result
    Counts Changed, Added, Removed and Unchanged rows, and shows the before and after value for each changed cell. The screen shows up to 30 rows, and changes.csv contains all of them.

    How to use Compare Spreadsheets

    1. 01

      Add the two versions

      Add one file on the left (Before) and one on the right (After). For an xlsx file, choose the sheet to compare.

    2. 02

      Choose a key column

      In Key column for matching, choose a column with a different value in every row. Only columns that exist in both files appear in the list.

    3. 03

      Set the comparison options

      Turn Ignore leading/trailing spaces and Ignore case on or off as needed. If you turn off Hide unchanged rows, identical rows are shown too.

    4. 04

      Check what changed and save

      Check the Changed, Added and Removed counts at the top and the change in each cell, then use Save as CSV to get the status and the before and after values.

    What it’s good for

    Insert one row and everything after it turns red

    If you compare row by row from the top, a single new row in the middle pushes every row below it down by one. The screen fills with changes, and the one row that really changed gets buried. This tool looks at row contents and counts only the inserted and deleted rows as such, so the rest stay in place.

    With a key column, a completely reordered list is fine

    If you choose a column with a different value in every row, like an employee ID or a product code, rows are paired by that value. Even a file saved with a different sort order is compared row to matching row. If key values repeat, though, there is no way to decide which row to pair with, so the tool says so openly and points out the repeated values first.

    It shows which cell changed from what to what

    In a changed row, only the cells that really differ are picked out and shown with the before and after values side by side. The other cells only fill the screen. Columns are matched by name too, so even if the column order changed, the name column and the phone column are never compared by mistake.

    Worked examples

    Pairing by a key column

    Input and settings
    Before: Employee ID · Name · Department / A01 Sales, A02 Engineering, A03 Planning
    After: Name · Employee ID · Department / A03 Planning, A04 Sales, A01 Marketing
    Key column: Employee ID
    Result
    Changed 1 · Added 1 · Removed 1 · Unchanged 1
    A01 Department: Sales → Marketing
    Even though the row order and column order changed, the same rows are found by employee ID. A02 shows as removed and A04 as added.

    Comparing the same files without a key

    Input and settings
    The two files above · Key column: none
    Result
    Changed 3 · Added 0 · Removed 0 · Unchanged 0
    In a file where the row order is completely different, pairing by content is hard, so every row looks changed. For this kind of table, choose a key column.

    A table with one row inserted in the middle

    Input and settings
    Before: Apple 1000, Pear 2000, Tangerine 500
    After: Apple 1000, Grape 3000, Pear 2000, Tangerine 500
    Key column: none
    Result
    Changed 0 · Added 1 · Removed 0 · Unchanged 3
    Because rows are matched by content, only the inserted Grape row counts as added, and the rows after it count as unchanged.

    Choosing how to pair rows

    Swipe the table sideways to see the rest.

    Choosing how to pair rows
    MethodGood forWhat to check
    Choose a key columnTables with a different value in every row, like an employee ID or product codeIf values repeat, a warning appears and the result can't be trusted.
    NoneChanges limited to inserted or deleted rowsA row whose values changed a lot can show as removed plus added.
    Ignore caseTables where only the letter case of English codes changedWhen on, ABC and abc count as the same value.

    When the result isn’t what you expected

    It says key values repeat

    If you see a message like "Key value A01 appears more than once", the same value is in two or more rows. Choose a different key column, or clean up the repeated rows in the source.

    The column I want isn't in the key list

    Only columns with the same name in both files can be used as a key. If a header name differs on one side, fix it and add the file again.

    Everything is Changed because of a column that exists on one side only

    Columns are matched by name, and the side that doesn't have one is treated as empty. If a new column has values, those rows show as changed.

    Key terms

    Key column
    A column with only one value per row. It becomes the reference for finding the same row in both versions.
    Matching by row content
    A method used when there is no key. It uses the rows that remain identical in both versions as a reference to find inserted and deleted rows.
    Changed
    A state where, in two paired rows, even one cell has a different value.

    Compare Spreadsheets FAQ

    Everything shows as different because of spaces added when pasting from Excel

    Differences in leading and trailing spaces are ignored by default. If you want an exact comparison including spaces, turn off Ignore leading/trailing spaces. You can also turn on Ignore case.

    What happens if I don't choose a key column?

    Rows are matched by their content. It works well in most cases, but a row whose values changed a lot can look like one removed row and one added row. If there is a column like an employee ID, choosing it is more accurate.

    Can I send the result to someone else?

    You can save it as a CSV that contains the status and the before and after values. It opens directly in Excel.

    Is my file uploaded to a server?

    No. The files are opened and processed only inside this browser.

    What happens to a file that was only re-sorted and saved?

    If you choose a key column, the same rows are compared regardless of order, so everything shows as unchanged. Without a key, rows can show as changed.

    Can it compare a very large table?

    It reads up to 100,000 rows. Without a key, if the number of rows in the two versions multiplied together exceeds 4 million, it compares by position, so for a large table choosing a key column is more accurate.

    Jump to a topic

    • #Excel compare
    • #key column
    • #changed cells
    • #duplicate keys

    Reviewed 2026.10.02

    Related tools

    View all
    Merge SpreadsheetsOffice
    Compare PDFsPDF & Docs
    Table ConverterText
    UtilPick

    Simple tools for a complicated day. A free collection of online utilities.

    Service

    About UtilPick Get the desktop app

    Help

    Request a toolReport a problemContactinfo@utilpick.com

    Policies

    Privacy Policy (Korean)Terms of Use (Korean)
    Business registration no. 365-47-00936 (Republic of Korea)
    © 2026 UtilPick
    Featured on Twelve ToolsUtilPick - Featured on Startup FameFazier badgeFeatured on LaunchIgniter
    HomeSearchSavedMore

    Before

    Add an Excel or CSV file.

    After

    Add an Excel or CSV file.

    Pick a column with a unique value per row, like an employee ID or product code, and rows are matched even if the file was re-sorted.

    Differences appear here

    Add one file for before and one for after. Even when rows are inserted, only the rows that really changed are picked out.