doc2docx
Convert doc to docx on Windows or macOS directly using Microsoft Word (must be installed).
What it is and what it does
doc2docx is a command-line tool and Python library that converts .doc files to .docx format by delegating to Microsoft Word itself rather than attempting format translation. It works on Windows via win32com (the pywin32 package) and on macOS via JXA (Javascript for Automation). The tool supports both single-file and batch folder conversion, with optional output path specification and a --keep-active flag to leave Word open after conversion.
The package is designed for scenarios where you have legacy .doc files that need to be upgraded to the modern .docx format and Word is already available on your system. It includes a CLI interface and a Python library API, and uses tqdm for progress indication during batch operations. The implementation is straightforward: it automates Word's native save-as functionality rather than reimplementing document format handling.
Use it for:
- Batch-convert a folder of legacy .doc files to .docx in-place on a Windows or macOS workstation.
- Automate .doc to .docx migration as part of a Python data-processing pipeline when Word is available.
- Convert a single .doc file with explicit output path specification for archival or distribution.
- Integrate doc conversion into a Jupyter notebook workflow (with ipywidgets for progress display).
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Converts legacy .doc files to modern .docx format on Windows or macOS by automating Microsoft Word, which must be installed on the system.
Yes, if you have Microsoft Word installed and need to convert .doc files to .docx. The package is lightweight and does exactly what it claims. However, maintenance is dormant (last release April 2023, no recent commits), so if Word's automation interfaces change significantly or you encounter bugs, fixes may not be forthcoming. For one-off conversions, Word's own Save As dialog is simpler; for programmatic batch conversion on systems with Word already present, this package is worth the install.
Install
doc2docx on PyPI
pip
pip install doc2docxuv
uv add doc2docxpoetry
poetry add doc2docxInstalling doc2docx
Before you install
Low install friction with a pure-Python wheel. Maintenance is dormant—last release was 2023-04-06 and no commits since 2024-06-04—so expect no active bug fixes or updates, though the codebase remains archived and available.
License in practice
MIT license is permissive; you can use, modify, and distribute this package freely with minimal restrictions.
Quickstart
pip install doc2docx
from doc2docx import convert
convert("input.doc")
convert("input.doc", "output.docx")
convert("my_doc_folder/")
Microsoft Word must be installed on Windows or macOS; the package is a CLI wrapper around Word's COM interface (Windows) or JXA (macOS) and cannot function without it.
Verify before relying
- Whether the package works reliably with recent versions of Microsoft Word (last release was April 2023).
- Performance characteristics for batch conversion of large document folders.
- Compatibility with non-English Word installations or regional settings.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.9,<4.0) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — tqdm, appscript, pywin32 |
| Maintenance | dormant — 1,226 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 79,252/month — #14,371 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: doc2docx-0.2.4-py3-none-any.whl
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
docx2pdfConverts DOCX files to PDF on Windows or macOS…
permissive · top 5,000 on PyPI
html2docxConverts valid HTML to Microsoft Word (.docx)…
permissive · top 15,000 on PyPI
docx-mailmerge2Performs mail merge operations on docx files by…
permissive · top 15,000 on PyPI
docx-mailmergePerforms mail merge operations on docx files by…
permissive · top 15,000 on PyPI
docxCreates, reads, and writes Microsoft Office…
unclear · top 15,000 on PyPI
html-for-docxConverts HTML content to Word documents…
permissive · top 15,000 on PyPI
python-docxpython-docx reads, creates, and modifies…
permissive · top 1,000 on PyPI
mammothConverts Microsoft Word .docx documents to…
permissive · top 5,000 on PyPI
python-docx-ml6Reads, creates, and updates Microsoft Word…
permissive · top 15,000 on PyPI
cloudmersive-convert-api-clientA Python client library for the Cloudmersive…
unclear · top 15,000 on PyPI