Installation
You need Python 3.12 or newer and pandoc 3.6 or newer.
Install pandoc
pandoc is a separate program. uvx, uv, and pip don't install it for you.
| Platform | Command |
|---|---|
| macOS | brew install pandoc |
| Debian / Ubuntu | sudo apt install pandoc (check the version below first) |
| Windows | winget install JohnMacFarlane.Pandoc |
| Anything else | See the pandoc installation guide |
Then check the version:
pandoc --version
Linux package versions
Many distribution packages are too old for word2html. Older pandoc versions can copy local files into the HTML despite its sandbox, so word2html refuses to run them:
| Distribution | apt version | Works? |
|---|---|---|
| Debian testing (forky) | 3.11 | Yes |
| Debian 13 (trixie) | 3.1.11.1 | Too old |
| Ubuntu 25.04, 25.10 | 3.1.11.1 | Too old |
| Ubuntu 24.04 | 3.1.3 | Too old |
| Debian 12 (bookworm) | 2.17.1.1 | Too old |
If yours is too old, download an installer from the pandoc releases page. There's a .deb file for Debian and Ubuntu.
Install word2html
- Run it without installing
uvx word2html report.docx- Install it with uv
uv tool install word2html- Install it with pip
pip install word2html
Check it works
$ word2html --version
word2html 0.5.0
These docs describe version 0.5.0. If --version shows something older, see Upgrading from 0.4: version 0.4 behaves quite differently and also needs libtidy.
Supported platforms
Every change is tested automatically on Linux and macOS, on Python 3.12, 3.13, 3.14, and 3.15. The tests run against pandoc 3.13 and the minimum supported version. Windows isn't tested, so it may work, but it isn't guaranteed.