Diff checker

Paste two versions of anything, an essay draft, a config file, a block of code, and see what was added, removed and changed. Lines are matched properly, so one inserted line does not mark the whole document as different. Free, no signup, and both texts stay in your browser.

Comparison options

Added

1

Removed

1

Changed

1

Unchanged

6

1 added, 1 removed, 1 changed, 6 unchanged.

Original

Changed

1Dear Dr Mehta,
1Dear Dr Mehta,
2 
2 
3Thank you for the notes on the draft.
3Thank you for the detailed notes on the draft.
4The deadline is the 14th of March.
no line
5I have attached the revised figures.
4I have attached the revised figures.
no line
5The reference list is still being checked.
6 
6 
7Best wishes,
7Best wishes,
8Priya
8Priya

Runs in your browser. The comparison is JavaScript running in this tab. Neither text is uploaded, logged or stored, so an unpublished draft, a contract or a private config file is safe to paste here.

How the comparison works

Lines are matched, not counted. The tool computes the longest common subsequence of the two line lists, which is the same approach behind the diff command and version control. It finds the largest set of lines that appear in both texts in the same order, and everything outside that set is an addition or a removal.

Edits become one changed row. When a removal and an addition land in the same place, they are almost always one line before and after an edit, so they are paired into a single changed row and compared a second time word by word. The highlighting inside the row shows the words that moved rather than making you reread the sentence.

Line endings are normalised. A file saved on Windows ends its lines with a carriage return and a line feed, while one saved on macOS or Linux uses only a line feed. Those are treated as the same ending, so a file that merely changed hands does not read as though every line was rewritten.

Reading the two views

Side by side keeps the original on the left and the changed version on the right, with a placeholder where one side has no matching line. This is the view for comparing two drafts, because you can read either version straight down the column.

Inline stacks the removal above the addition in one column, marked with minus and plus, which is how a patch file, a pull request or a code review reads. Copy diff puts exactly that listing on your clipboard.

Turn on show only differences when the documents are long and mostly the same, and the unchanged lines are just noise between the parts you care about.

When to ignore whitespace or case

Ignore whitespace trims the ends of each line and collapses runs of spaces before comparing. Reach for it when a file has been through a formatter, when indentation changed from tabs to spaces, or when text pasted out of a PDF picked up stray spacing. It does not change the text you see or copy, only what counts as a match.

Ignore case compares without capitalisation, which is useful for config keys, email addresses and anything that was retyped rather than copied. Leave it off when you are proofreading, since capitalisation is exactly the kind of error you are looking for.

Frequently asked questions

Is my text uploaded anywhere when I compare it?
No. The comparison runs in your browser as ordinary JavaScript, so both texts stay on your device. You can disconnect from the network and the tool still works, which matters when you are diffing a contract, a patient note or unreleased code.
How does the comparison decide which lines match?
It computes the longest common subsequence of the two line lists, which is the same idea behind the diff command and version control. That is why inserting one line at the top shows as a single addition instead of marking every line below it as changed.
What is the difference between the side by side and inline views?
Side by side puts the original on the left and the changed version on the right, which suits reading two drafts. Inline stacks removals and additions in one column with minus and plus markers, which is how a patch or a pull request reads.
Why is one line marked as changed rather than as a removal plus an addition?
When a removed line and an added line sit in the same spot, they are almost always the same line after an edit, so they are paired into one changed row and compared again word by word. The highlighting inside the row shows exactly which words moved.
Can I ignore whitespace or capitalisation?
Yes. Ignoring whitespace collapses runs of spaces and trims the ends of each line before comparing, and ignoring case compares without capitalisation. Both options only affect the comparison, never the text that is displayed or copied.
How large a text can it handle?
Documents of a few thousand lines compare in well under a second. Beyond that the tool splits the work at lines that appear exactly once in both texts, so very large files stay responsive instead of exhausting the tab's memory.

Spotting what changed is one thing. Remembering it is another.

FORKSAI turns the notes, slides and PDFs you are revising into flashcards and spaced repetition sessions, so the material actually sticks.

The tool above stays free and needs no account.

More free tools

There are file and format tools too, such as image converter, compress image to size, favicon generator, and the full set is on the free tools hub.

Plan your next review session

Use the free student study kit to plan a week of revision, check flashcard quality, and record mistakes from practice questions.

Need a deck first? Turn a lecture PDF into editable flashcards, then follow the active recall guide to practise answering before revealing the back of each card.

Working toward an exam? Build a daily target with the exam study planner, protect the session with the Pomodoro study timer, or check your current result with the weighted GPA calculator.