skillfed

html2docx

Convert valid HTML input to docx.

html2docx v1.6.0 119.7K downloads/30d#12,059 on PyPI38
Permissive license MIT DORMANT released

What it is and what it does

html2docx is a Python library that transforms valid HTML documents into Microsoft Word (.docx) files. It takes HTML as input and returns a BytesIO object containing the Word document, which you can then write to disk or process further. The package wraps python-docx for document generation and tinycss2 for CSS parsing, handling the translation from web markup to Office Open XML format.

The library is straightforward to use: read or construct your HTML, pass it to the html2docx() function with optional metadata like a title, and get back a binary buffer ready to save. It is marked Production/Stable and supports Python 3.7 through 3.10, though maintenance has been dormant since early 2023. The main constraint is that your HTML must be valid; the package does not attempt to repair or work around malformed markup.

Use it for:

  • Export HTML reports or templates generated by a web application into Word documents for distribution or archival.
  • Convert email HTML content to .docx files for offline storage or sharing with non-technical users.
  • Generate Word documents programmatically from HTML templates in data processing or document generation pipelines.
  • Build a document conversion microservice that accepts HTML and returns downloadable .docx files.
  • Transform HTML documentation or help content into Word format for print or formal distribution.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Converts valid HTML to Microsoft Word (.docx) format, returning a BytesIO object that can be written to disk or processed further.

Yes, if you need straightforward HTML-to-Word conversion and can work with valid HTML input. The low install friction, permissive MIT license, and Production/Stable status make it a reasonable choice. However, dormant maintenance (last release January 2023) means you should verify that it works with your specific HTML/CSS requirements and check for any compatibility issues with current versions of its dependencies before committing to production use.

Install

html2docx on PyPI

pip

pip install html2docx

uv

uv add html2docx

poetry

poetry add html2docx

Installing html2docx

Before you install

Low friction installation with only two runtime dependencies (python-docx and tinycss2). Maintenance is dormant—last release was 2023-01-19 and last commit 2024-01-16—but the package is marked Production/Stable and the repository remains active and unarchived.

License in practice

MIT license is permissive, allowing commercial and private use with minimal restrictions; you may use, modify, and distribute the package freely provided you include the license notice.

Quickstart

pip install html2docx

from html2docx import html2docx

with open("my.html") as fp:
    html = fp.read()

buf = html2docx(html, title="My Document")

with open("my.docx", "wb") as fp:
    fp.write(buf.getvalue())

HTML input must be valid; malformed HTML will cause conversion to fail.

Verify before relying

  • What HTML features and CSS properties are actually supported by the conversion (the fact sheet does not detail the scope of HTML/CSS handling).
  • Whether tinycss2 dependency is used for CSS parsing and what styling limitations exist in the output.
  • Current compatibility with recent versions of python-docx and tinycss2.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.7)
Install friction low — pure-Python wheel
Runtime dependencies 2 — python-docx, tinycss2
Maintenance dormant — 1,303 days since the last release
Last repo commit
First released
Downloads 119,726/month — #12,059 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: html2docx-1.6.0-py3-none-any.whl

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Software Development :: Libraries :: Python ModulesTopic :: Utilities

Tags

html to docx conversionconvert html to word documenthtml to microsoft wordgenerate docx from htmlhtml document exportcreate word files from htmlhtml2docx
document-generationformat-conversion

More Python Modules packages