LaTeXdiff Online
Free Tool, No Perl install, No Terminal
Use LaTexdiff Online to compare two .tex files and instantly see what changed. Paste your original and revised LaTeX files, then generate a marked-up version for journals, supervisors, or co-authors.
How it works
\DIFadd{...} around additions and \DIFdel{...} around deletions. Compile it with pdflatex to see additions in blue and deletions in red strikethrough.
Options explained
type
How additions are marked. UNDERLINE wavy-underlines them, CHANGEBAR puts a vertical bar in the margin, CFONT uses a different font. Switch to CHANGEBAR if your journal asks for marginal change marks rather than inline markup.
UNDERLINE
default
subtype
How deletions are marked. COLOR uses red strikethrough, FONTSTRIKE strikes through without colour, SAFE is the most conservative. Use SAFE if \DIFdel is breaking your document, since some journal classes redefine commands that conflict.
COLOR
default
floattype
How figures and tables are handled. IDENTICAL leaves them alone unless content changed, FLOATSAFE wraps every float in protective commands. Use FLOATSAFE if floats are silently disappearing in the diffed output.
IDENTICAL
default
math-markup
How equations are diffed. coarse marks any changed equation as one block, fine diffs inside the equation, whole always marks the whole equation, off ignores math changes. Use fine to see exactly which symbols changed, though it is fragile.
coarse
default
Limitation
\input{} or \include{} to pull in chapters, the tool will not flatten them automatically. Inline everything first, or wait for the multi-file version.
ulem package.
What latexdiff actually does
Marks every change
latexdiff is a Perl script that compares two LaTeX source files and produces a third LaTeX file with the changes marked up using two macros: \DIFadd{...} for insertions and \DIFdel{...} for deletions. When you compile that third file with pdflatex, the additions appear in blue and the deletions appear in red strikethrough. The ulem package handles the strikethrough.
It understands LaTeX
It is not a text diff. A plain diff tool would compare your files line by line and miss the LaTeX structure entirely — it would flag a renamed \section{} as a complete rewrite even if you only changed one word. latexdiff understands LaTeX. It diffs paragraphs, sentences, equations, and citations as separate units, and it leaves the document compilable on the other side.
Why researchers use it
This matters because most researchers use latexdiff for one of three reasons: tracking what changed between drafts when working with co-authors, generating a revision file for journal resubmission, or sanity-checking changes during a thesis revision pass. Many journals require authors to upload both a clean manuscript and a marked-up revision showing all changes — latexdiff is the standard way to produce that second file. None of these workflows work with a generic text diff.
Why run it online
The catch is installation. latexdiff ships with TeX Live and MiKTeX on most Linux and Mac setups, but Windows users almost always hit a wall — latexdiff is a Perl script, and Perl is not preinstalled on Windows. You end up installing Strawberry Perl, then pointing TeX Live at it, then dealing with path issues. Overleaf users hit a different wall: latexdiff is built into Overleaf's Track Changes feature, but that feature is gated behind their paid Premium plan. For a one-off comparison, neither path is worth the effort. That is the gap this tool fills — a free, online latexdiff that works in any browser, with no install and no subscription.
Frequently asked questions
No. Perl runs server-side on our end. You just paste the two files and get a result.
No. diff is a generic text comparison tool that does not understand LaTeX structure. latexdiff parses the LaTeX, then diffs at the paragraph and equation level, then writes a compilable LaTeX file with markup macros. The two are not interchangeable.
The most common cause is a missing ulem package on your local install. latexdiff adds \RequirePackage[normalem]{ulem} to the diffed file's preamble — if you do not have it, the compile fails on that line. Install it from your TeX distribution and the file will compile.
The second most common cause is template incompatibility. Some journal classes (elsarticle, acmart, sn-jnl) redefine commands that conflict with \DIFadd and \DIFdel. Switch the subtype option to SAFE and try again.
Yes, if your Overleaf project is a single .tex file. Download both versions from Overleaf (Menu → Download → Source), open the .tex files, and paste each into the box above. The tool produces the same diff Overleaf's paid Track Changes feature would, without the subscription.
For comparing two completed file versions, yes. Overleaf's Track Changes is a live, interactive editor on the Premium plan. This tool generates a static diff of any two .tex files in seconds, free, without a subscription. If your Overleaf project uses multiple files via \input{} or \include{}, you currently need to flatten them first — a multi-file version of this tool is coming.
Yes, free. It runs on a small server-side service and serves a few thousand requests a month comfortably. No signup, no paid tier.
Need the manuscript formatted for IEEE, Springer, Elsevier, ACM, or another journal template?
We handle submission-ready LaTeX typesetting from $49. Send the source files, get back a paper that compiles cleanly and matches the journal spec.