--- id: docx2python version: "3.7.1" license: MIT license_treatment: permissive maintenance: active --- # docx2python — Extract content from docx files License: permissive · Maintenance: active · Downloads: 335.0K/mo ## What it is and what it does docx2python reads Microsoft Word .docx files (which are ZIP archives containing XML) and exposes their content as Python objects. It extracts text, images, headers, footers, footnotes, endnotes, document properties, comments, and paragraph metadata—including styles (e.g., Heading 1, Subtitle), formatting runs (bold, italic, underline, color, size), and position within nested lists. Tables are normalized to n×m grids and can be identified without guessing. The package optionally converts formatting to HTML tags and can write extracted images to disk. The library uses lxml to parse the underlying XML and exposes a DocxContent object with separate attributes for header, footer, body, footnotes, endnotes, and document-level properties. Paragraphs are flattened to a consistent depth and enriched with metadata (style, lineage, list position, runs with formatting). It supports both strict and superset Open Office XML namespaces and works with Python 3.10+. Use it for: - Extract text and structure from Word documents for indexing, search, or content migration to other formats - Automate document processing pipelines that need to read .docx files and convert them to markdown, HTML, or database records - Parse Word documents to identify and extract headings, lists, and formatted text for document analysis or summarization - Batch extract images embedded in .docx files and save them to a directory for asset management - Build tools that read Word document properties (creator, modification date, etc.) for metadata extraction or audit trails ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Extracts text, images, headers, footers, footnotes, endnotes, comments, properties, and document structure from Microsoft Word .docx files into Python objects. Yes. The package is actively maintained, has low install friction, carries no known vulnerabilities, uses a permissive MIT license, and solves a common problem (reading .docx files) with a well-structured API. It is suitable for production use in both open-source and commercial contexts. Install if you need to programmatically extract content from Word documents. ## Install pip install docx2python uv add docx2python poetry add docx2python ## Installing docx2python Before you install: Low install friction with a pure-Python wheel. Actively maintained with a release 8 days ago. Requires Python 3.10 or later and three runtime dependencies (lxml, paragraphs, typing-extensions), all common and lightweight. License in practice: MIT license permits use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects. Quickstart: from docx2python import docx2python with docx2python('path/to/file.docx') as docx_content: print(docx_content.text) print(docx_content.properties) print(docx_content.images) Requires Python 3.10 or later; the .docx file must be a valid ZIP-based Office Open XML document. Verify before relying: - Whether the package handles corrupted or malformed .docx files gracefully - Performance characteristics on very large documents or batch processing scenarios - Extent of support for Word's advanced formatting features beyond those listed ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 335.0K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags extract text from docx, parse word documents, docx to python, read docx files, extract docx content, word document parser, docx image extraction, document-parsing, office-formats [View on SkillFed](https://skillfed.io/packages/docx2python) · [View on PyPI](https://pypi.org/project/docx2python/)