Google Analytics helps us understand which tools you use and which actions work. Your files and entered text stay out of analytics.

TWO VERSIONS. ONE CLEAR ANSWER.

See exactly
what changed.

A difference checker for text, code and documents. Compare CSV or Excel records by ID, even when the rows move.

Files stay on your deviceWord & Excel supportFree. No account needed.

Add two versions, find the changes, keep a report.

Comparison workspaceOn your device
01

Original

Your starting version

0 charactersDrop a file into this side
02

Updated

Your new version

0 charactersDrop a file into this side

Text, code, CSV, Excel, Word, RTF, ODT and selectable-text PDF. Up to 10 MB per file. Your contents stay in this tab.

More options

Choose before opening a text file. Document readers use their own encoding.

Add two versions to see what changed. You can compare an empty version too.

Only comparison settings save to your account. Pasted text, extracted wording, table rows and file names stay in this tab. Account saving

How to compare two files or blocks of text

  1. Add the two versions

    Paste text or open a file in Original and Updated. You can mix supported formats, such as DOCX and plain text.

  2. Choose what counts as a change

    Compare wording and code as text. For CSV or Excel, choose Table records and a unique ID column on each side.

  3. Review and export the differences

    Compare versions, filter the changes and check the original values. Copy a summary or download a changes report.

Using the difference checker

Put the starting version in Original and the new version in Updated. Changes read from the original towards the updated version.

Add text, code or document files

Paste into either editor, use Open file, or drop one file into each side. The two files can have different supported formats.

Document imports show an extraction note. Read it before treating the result as a complete document review.

InputWhat is compared
Text and codePlain-text content, including Markdown, logs, JSON, XML, YAML, HTML, SQL and source files. HTML is compared as source and never executed.
CSV and TSVQuoted fields, embedded line breaks and comma, tab, semicolon or pipe delimiters. The first row supplies column headers.
XLSX, XLS and ODSDisplayed cell values from the selected worksheet. Choose Original worksheet and Updated worksheet separately. Formulas are not recalculated or compared.
DOCX and DOCMain-body wording. DOC support covers Word 97 to 2003. DOCX deleted revisions are excluded; inserted wording is included.
RTF and ODTExtracted body wording or paragraphs. Formatting and embedded objects are omitted.
PDFSelectable text from up to 200 pages. Page layout and scanned images are not compared.

Choose text comparison or match table records

Text & code aligns lines and highlights edited words or characters. Table records matches rows by a unique ID, such as an SKU.

In Table records, select Original ID and Updated ID. Their column names may differ. Other columns match by exact header name.

Reordered rows

A record with the same ID remains the same record. Sorting your spreadsheet does not turn it into a deletion.

Precise value changes

Each edited cell shows its original value above its updated value. Added and removed records have separate labels.

Ambiguous IDs

Empty or duplicate IDs stop the comparison. Choose a unique column or resolve the duplicates before continuing.

Set comparison rules

Leave the default rules for an exact comparison. Each active ignore rule is named above the result.

ControlEffect
HighlightUse Words for prose or Characters for a changed digit or identifier.
Ignore JSON key orderParse JSON, sort object keys and compare normalised output. Arrays retain their order.
Ignore letter caseTreat capitalisation as equal. In tables, this applies to values, not IDs or headers.
WhitespaceCompare exactly, ignore spaces at line or cell edges, or ignore all whitespace. Removing whitespace can hide meaningful changes.
DelimiterDetect the table separator, or select it yourself when the CSV uses an unusual separator.
More optionsChoose Text file encoding before reopening a non-UTF-8 file. Auto recognises UTF-8 and UTF-16 byte-order marks.
Compare versions / CancelStart the comparison, or cancel its background processing. Editing an input makes the previous result unavailable.

Read and filter the changes

Side by side keeps the versions in separate columns. Unified puts removed and added lines together, which suits a narrow screen.

A paired removal and addition counts as one changed line. Changes only hides unchanged lines; the line numbers still refer to the compared text.

  • Wrap lines keeps long lines readable without changing their contents.
  • Changes only focuses the review. Turn it off to inspect matching content.
  • Filter changes searches both versions. Change type selects added, removed, changed or unchanged results.
  • Previous change and Next change move through matching changes, including across result pages.
  • Previous page and Next page browse up to 200 text lines or 50 table records at once.

Keep a report and manage the workspace

Exports include every change, regardless of the current search, filter or result page. Check the summary before sending a report. Edit comparison reopens the inputs and rules. Hide inputs makes more room for results.

ControlEffect
Copy summaryCopy the counts, comparison rules and all changed values as text.
Changes CSVDownload one row per changed cell, with ID, column, original value and updated value. Formula-like values receive an apostrophe for safer spreadsheet opening.
HTML reportDownload a standalone text report you can open in a browser. It contains no scripts or remote resources.
Unified patchDownload a patch for exact text comparison. This is unavailable when ignore rules or JSON normalisation change the comparison.
Try an exampleLoad edited wording, code changes, reordered prices or JSON key order. Undo restores the previous inputs.
Swap / Clear / UndoReverse the comparison direction, clear both inputs, or restore inputs replaced by Clear or an example.
Focus modeMove the workspace into the viewport. Width chooses Narrow, Wide or Full. Done, Escape or browser Back returns to the page.

Keyboard shortcuts

Use the keyboard to compare and move between changes. The editors keep normal text-editing shortcuts.

ShortcutAction
Ctrl / Cmd + EnterCompare versions.
Alt + ↓ / ↑Next or previous matching change.
EscLeave Focus mode.

What the checker will not do

This is a content comparison, with explicit limits. It does not compare Word layout, spreadsheet styles, image pixels or programme behaviour.

  • Each input: up to 2 million characters and 30,000 lines.
  • Tables: up to 30,000 data rows, 300 columns and 600,000 cells per side.
  • Files: up to 10 MB each.

Large differences can exceed the processing timeout. Split the input into smaller sections. Password-protected documents and unsupported binary files need converting first.

For full Word redlining, use Word’s Compare feature. For a scanned page, extract wording with image to text or make a searchable PDF first.

Frequently asked questions

Can I compare two Word documents online?

Yes. Open DOCX or Word 97 to 2003 DOC files on each side. The checker compares extracted body text. It does not compare fonts, page layout, comments or document revision metadata. Use Word’s Compare feature for a formatting redline.

Will sorting my CSV create false differences?

Choose Table records and a unique ID column. Records match by ID rather than row number. Columns match by their header names, so column reordering also leaves unchanged values alone. Duplicate or empty IDs stop the comparison with an explanation.

Can I compare code from different programming languages?

You can open any plain-text source file, including JavaScript, Python, SQL, HTML and configuration files. The checker highlights text changes. It does not run code, check syntax or prove that two programs behave the same way.

Does the JSON diff ignore object key order?

Turn on Ignore JSON key order to sort object keys before comparing. Indentation is normalised and the result shows canonical JSON. Array order and value types still matter. Invalid JSON needs fixing first, or you can compare it as plain text.

Can it compare PDFs or scanned documents?

PDFs with selectable text work. The checker extracts wording rather than comparing page images. Extraction order can differ from visual reading order. Scanned PDFs need OCR first, and password-protected PDFs need an unlocked copy.

Are my files or pasted text saved?

The comparison contents stay in this tab, including pasted text and extracted document wording. They are not uploaded for processing or saved to your account. Signed in, only the comparison settings save automatically. Reloading clears your contents.

Something missing? Request a feature

↑↓ move↵ openesc close