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

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.