Docx Comparison — Free and Secure
Crowdsourced Redlines is a free, open-source tool for comparing two
Microsoft Word .docx files and producing a third document
showing every insertion, deletion, and move as native Word tracked
changes — entirely in your browser.
How it works
The comparison engine, Docxodus,
is a fork of Microsoft's now-archived
Open-Xml-PowerTools
modernized to .NET 8.0 and compiled to WebAssembly. When you drop two
.docx files into the browser, the WASM engine runs the
comparison locally in a Web Worker thread. Your files are never
uploaded to a server. The result is downloaded directly to your
device.
Use it in your own code
The same engine that powers this web app is available as three packages — all MIT-licensed and built on the same .NET 8 binary.
TypeScript / JavaScript (docxodus)
npm install docxodus
import { createWorkerDocxodus } from "docxodus/worker";
const docxodus = await createWorkerDocxodus({
wasmBasePath: "/wasm/",
});
const redline = await docxodus.compareDocuments(
originalFile,
modifiedFile,
);
Python (python-redlines)
pip install python-redlines[docxodus]
from python_redlines import DocxodusEngine
original = open("original.docx", "rb").read()
modified = open("modified.docx", "rb").read()
engine = DocxodusEngine()
redline, _, _ = engine.run_redline("Reviewer", original, modified)
open("redline.docx", "wb").write(redline)
C# / .NET (Docxodus on NuGet)
dotnet add package Docxodus
using Docxodus;
var original = new WmlDocument("original.docx");
var modified = new WmlDocument("modified.docx");
var settings = new WmlComparerSettings { AuthorForRevisions = "Redline" };
var result = WmlComparer.Compare(original, modified, settings);
result.SaveAs("redline.docx");
Frequently asked questions
What is a Word document redline?
A redline is a Word .docx file in which every insertion,
deletion, and move between an original and a modified version is
highlighted as a native Word tracked change. Each change is
attributable to a named reviewer, and Word renders deletions with
strike-through and insertions with underlines or color-coded markup.
Reviewers can accept or reject each change individually.
Does the server store or read my files?
No. The default browser comparison runs entirely client-side via WebAssembly — files are never uploaded. The optional server-side API processes documents in memory and stores nothing. Only when a user explicitly files a public ticket do documents persist server-side, and only after a multi-stage scan and quarantine pipeline clears them.
How does this compare to Microsoft Word's Compare feature?
Same output format (native Word tracked changes accepted/rejected in Word), no Word license needed, no software to install for the web app, and a fully open-source codebase you can self-host, audit, or embed. The underlying engine is a modernized fork of Microsoft's now archived Open-Xml-PowerTools comparison logic, with added move detection, format-change detection, and improved table handling.
Is the source code public?
Yes — all of it. The comparison engine (Docxodus), the document viewer (react-docxodus-viewer), the Python wrapper (python-redlines), and this web app (crowdsourced-redlines-js) are all MIT-licensed and publicly developed on GitHub.
Why use it
- Private: Browser comparisons run via WebAssembly. Documents never leave the device.
- Open source: Engine, viewer, and app are all public on GitHub under the MIT license.
- Crowdsourced: If a comparison produces a bad redline, users can file a public ticket attaching the source files. Each ticket becomes a regression-test fixture that improves the engine for everyone.
Loading the interactive app… If you have JavaScript enabled, the page above will replace itself with the interactive document comparison tool. If you don't have JavaScript, the description above is the static version.