Package the tracked-changes/comments extractor as a proper Python package with a console_scripts entry point so it can be installed via pipx.
docx-review-changes
Extract all tracked changes (insertions, deletions, substitutions) and comments
from a Microsoft Word .docx file and print them as readable, paragraph-numbered
text — useful for reviewing edits without opening Word.
Install
Requires Python 3.9+ and pipx.
pipx install git+https://gitea.reground.org/will/docx-review-changes.git
To upgrade to the latest version later:
pipx install --force git+https://gitea.reground.org/will/docx-review-changes.git
No external dependencies — the tool only uses the Python standard library.
Usage
docx-review-changes yourfile.docx
Each tracked change or comment is printed as a numbered entry with the paragraph number, author, and surrounding context. Example output:
────────────────────────────────────────────────────────────
[1] CHANGE — paragraph 3 — Jane Doe
Delete : "quick"
Insert : "fast"
Context : The …[^^^] brown fox jumps over the lazy dog…
────────────────────────────────────────────────────────────
[2] COMMENT — paragraph 5 — John Smith
Highlighted : "lazy dog"
Comment : "Can we rename this?"
Context : …jumps over the [^^^]
────────────────────────────────────────────────────────────
Total: 2 item(s)
- CHANGE — a deletion immediately followed by an insertion from the same author is treated as one substitution.
- DELETION / INSERTION — standalone tracked changes.
- COMMENT — a comment anchored to highlighted text, with the comment body.
[^^^]in theContextline marks where the change/comment sits relative to the surrounding paragraph text.
If the document has no tracked changes or comments, the tool prints
No tracked changes or comments found.
How it works
.docx files are zip archives containing OOXML. This tool reads
word/document.xml (paragraphs, w:ins/w:del tracked-change markup, and
comment anchors) and word/comments.xml (comment bodies) directly via
zipfile and xml.etree.ElementTree — no third-party libraries required.