DOCX · TRACKED CHANGES · PDF · ONE ENGINE
Word-faithful documents. Without Word.
Compare two Word documents and get a real redline: tracked changes Word accepts, rejects and filters as its own. Use the Mac app or your browser; developers can embed the same engine.
MUTUAL NON-DISCLOSURE AGREEMENT
Draft 2 · revisions by Counterparty
7. Governing law, survival and notice
This Agreement is governed by the laws of the State of New YorkDelaware. The duty of confidence survives for two (2)three (3) years from disclosure, and either party may end the Agreement on thirty (30)sixty (60) days’ written notice.
Real tracked changes
The redline is a Word document with genuine insertions and deletions. Accept, reject and filter them by author in Word’s Review tab. It is not a side-by-side view and not a PDF overlay.
Nothing leaves the machine
The browser demo runs entirely inside the tab. The Mac app compares on your disk. There is no upload step to audit: load the page, go offline, and it still works.
Opened in Word before it is scored
In the benchmark, every redline is opened in Microsoft Word itself before it earns a score, and the scoreboard below counts every failure as zero.
From the benchmark: a random document against Word
Live feed · coming soon →Fixture
loading…
- Word · oracle
- 100
- jubarte 0.10.1
- — · …
- LibreOffice 26.8.0.3
- — · …
Session: first pass…
Page one of a document from the published set, as each engine rendered it in the benchmark run. The pick is random, not chosen: where jubarte does worse than LibreOffice, that shows here too. Scores are pixel scorer v1 against Word’s own export, 0–100. The always-on live feed is coming soon.
Not a claim. A scoreboard.
Every number below comes from neurotic_docx_bench: Word’s own PDF export is the reference, failures count as zero, and jubarte is marked author-affiliated and held to the same rules.
Full results & per-case viewer →superdoc produced a scorable redline for 380 of 3,502 pairs; the rest count as zero, so its median is 0.
For developers
the same engine as a CLI, a Rust crate, Python wheels and WebAssemblyOne engine, four jobs
compare → resolve → edit → renderjubarte original.docx modified.docx -o redline.docx
Resolve
Accept or reject, by ID
List every change with a stable ID, then accept or reject globally or by ID, author and kind. Both sides of a move go together.
jubarte accept redline.docx --id body:rev:12 -o accepted.docx
Edit
Atomic JSON edit plans
Inspect paragraphs by stable story ID, apply replace / insert / comment plans against a source hash. Ambiguity rejects the whole plan.
jubarte edit contract.docx --plan plan.json --out-dir out/
Render
DOCX → PDF / PNG
An independent Word-oriented layout engine. Tracked changes painted in conventional, Word-like or custom palettes. No Office process launched.
jubarte convert redline.docx --revisions word --compress
Same core, wherever you run
Rust 1.88 · CPython ≥ 3.10 · Node ≥ 18cargo install jubarte-redlines jubarte --version
The CLI. Compare, changes, accept/reject, convert, inspect, text, edit, debug. Prebuilt archives on GitHub Releases.
cargo add jubarte-redlines \ --no-default-features
The library crate. Import path is jubarte::. No unsafe. MSRV 1.88, edition 2024.
pip install jubarte-redlines
Python wheels. Immutable Document API: compare, changes, to_pdf, to_png, inspect, edit, preview. PyO3 / abi3 wheels.
npm install jubarte-wasm
WebAssembly packages. Full and slim builds for Node and the browser. The demo on this site runs both: slim to compare, full to render PDF.
Fail closed
Edit plans that hit an ambiguous anchor or a stale source hash write nothing. Output is genuine w:ins / w:del revisions, the same ones Word writes.