Paste or drop both versions
Two panes, always in the same order: the original on the left, the changed version on the right. Drop a file on either side, or drop two files at once and they land in the right panes.
Text & code comparison
Paste two versions of a document, a config file or a block of code. Every added, removed and rewritten word is marked in place — inside your browser, with nothing uploaded and no account.
Options
Applies to both panes and is remembered on this device.
Nothing you paste is uploaded — the comparison never leaves this browser.
Method
No setup, no accounts, no “upload your file to our server”. The comparison is a few milliseconds of arithmetic in the tab you already have open.
Two panes, always in the same order: the original on the left, the changed version on the right. Drop a file on either side, or drop two files at once and they land in the right panes.
Removed lines are marked red, added lines green, and inside a rewritten line only the words that actually changed are highlighted. Long stretches of identical lines fold away.
Copy the comparison as a unified patch, download it as a .diff file, or copy a link that reopens the same two versions for someone else.
Most diff tools upload both files to a server, compare them there, and hand the result back. That is fine for a shopping list and a problem for a client contract, an .env file or source code under NDA. Pikkola Diff has no server side: the comparison runs on your device, and the page makes no network requests after it loads. The only way text leaves the tab is the link you choose to copy — and even then the text lives after the # in the address, which browsers never send to a server.
What it handles
The same engine reads configuration, code and prose. Pick the options that match the kind of difference you care about.
Indentation matters only when you say so. Ignore whitespace to see the real edits in YAML, JSON, Python or a Dockerfile.
A rewritten paragraph is shown as a rewritten paragraph: the sentence stays, the changed words are highlighted.
Side by side on a wide screen, unified on a narrow one or when pasting into a ticket.
Format both sides before comparing, so a minified payload and a pretty-printed one are compared by content, not spacing.
Drop .txt, .csv, .json, .md, .html, .xml, .yaml, .sql or any UTF-8 source file. Nothing is uploaded.
A copied link carries both versions in its fragment, so a colleague sees exactly what you saw.
Privacy
There is no endpoint to receive a file. The page is static files; the comparison is JavaScript running on your device.
No sign-up, no tracking script, no advertising pixel. Preferences such as theme, language and options sit in this browser’s local storage.
A comparison is shared only when you copy a link or a patch yourself. Closing the tab clears the text.
Questions
Paste the original into the left pane and the new version into the right, then press Compare (or ⌘/Ctrl + Enter). Removed lines are marked red on the left, added lines green on the right, and rewritten lines are paired with the changed words highlighted.
No. The page contains the whole diff engine and makes no requests after loading. Nothing you paste is stored, logged or sent anywhere; closing the tab ends it. The one exception is a link you deliberately copy, which carries the text in its fragment.
Any file that is text: .txt, .md, .csv, .json, .xml, .html, .css, .js, .ts, .py, .yaml, .sql, .env and most source files. Binary files such as images, PDFs and archives are not text and cannot be compared.
Yes. Options lets you ignore all whitespace differences, ignore letter case, and switch word-level highlighting on or off. With whitespace ignored, an indent-only change disappears from the result and the page tells you how many lines were affected that way.
A few thousand lines per side is comfortable, and files up to 5 MB open in the panes. Very large comparisons still work but take a moment to render, and a link cannot carry megabytes.
The layout switches to a single unified view on a narrow screen, and the whole tool is static files, so it keeps working offline once loaded. No app is needed.
A plain-text description of the two versions that tools such as git understand: each changed region with a few lines of context, marked with -, + and a space. Copy patch or Download .diff gives you exactly that, ready for a ticket or a code review.