TEXT COMPARE & DIFFERENCE CHECKER

See what changed.
Keep every detail.

Compare a draft, a revised page or two configuration files. Follow added and removed lines, choose what counts as a match and export a complete record.

Exact line alignmentOriginal text retainedLocal processing
TWO VERSIONS. ONE CLEAR VIEW.

A closer look at the changes.

01 / ORIGINAL

Paste text or open a file

02 / REVISED

Paste text or open a file

Up to 512 KiB and 3,000 lines per side. Empty text is valid. Final-newline presence is always compared.

Every change has a place.

Compare your two versions to reveal additions, removals and matching lines, with their original line numbers.

Your text stays in this browser. No upload, account or saved comparison history.
01 / COMPARE

Review the revision.

Spot line additions and removals in copy, configurations or plain-text exports. Keep the original line numbers alongside each change.

02 / CHOOSE

Make matching explicit.

Ignore case, spaces or newline style when that suits the task. The result still distinguishes exact equality from equivalence.

03 / KEEP

Take the whole record.

Download JSON or a readable text report. Original line contents and endings remain available even when the on-screen view is shortened.

Understand the difference.

What kind of differences does this tool find?

This is a line-based text comparison. It finds a shortest sequence of line additions and removals using exact longest-common-subsequence alignment under your chosen settings. Replacements appear as removed and added lines. It does not perform character-level highlighting, semantic similarity, plagiarism checking or automatic merging. Repeated lines can have more than one equally short alignment; the tool uses a consistent tie-break.

What do the matching options mean?

Exact matching is the default. Ignore case uses JavaScript Unicode lowercase conversion, not language-specific collation or full Unicode case folding. Whitespace options trim leading/trailing ASCII spaces and tabs, or collapse runs of those characters to one space and trim the edges. Other whitespace and Unicode normalization are unchanged. Ignore newline style treats CRLF, LF and CR as the same separator; the presence or absence of a final newline still matters.

Can ignored differences be mistaken for identical text?

The tool reports exact original equality separately from equivalence under your settings. Matched lines that differ in the original text are labelled Equivalent under settings and counted as ignored differences. Both originals remain visible in the result and are preserved in reports. The changes-only view also includes those ignored differences.

Are empty lines and final newlines preserved?

Yes. Empty input contains zero lines. A final separator belongs to its preceding line; it does not invent an extra empty line. For example, a followed by LF is one terminated line, while a followed by two LFs contains a second blank line. LF, CRLF, CR and no final newline are labelled explicitly.

What happens when I open a file?

Open one UTF-8 text file on either side, up to 512 KiB; empty files are allowed. Invalid UTF-8 bytes are rejected. Untouched imported text retains its original line endings and BOM even if the textarea display normalizes them. Editing or pasting can normalize separators according to the browser. Swapping sides keeps the retained original text. Downloads record the text and ending of each original line.

What are the limits?

Each side supports 512 KiB of UTF-8 text and up to 3000 lines. After matching a common prefix and suffix, the changed region is limited to 4 million line pairs for exact alignment. If it exceeds that limit, comparison stops with a clear error instead of generating an approximate result. Split large changed documents into smaller sections. Results show 100 rows per page. Long line previews stop after 400 Unicode code points unless Show full lines is enabled; exports remain complete.

What is included in the reports?

JSON includes settings, counts, exact-equality and equivalence flags, and all aligned rows with the original text, original line number and exact line ending on each side. The text report JSON-quotes line contents and explicitly names their endings. Copy always includes the entire text report, regardless of view, page or shortened previews. These are review reports, not executable patch files.

Is my text uploaded or saved?

The tool compares text locally without uploading it, fetching URLs, executing it or saving input in browser storage. Clear or leaving the page removes temporary results. Normal website analytics and feedback services may still load. Use the JSON formatter for JSON syntax checks or the image comparison tool for pictures.