DOCX
Generated by scripts/gen-format-pages.py from docs/data/format-metadata/, FILE_FORMATS.csv and docs/formats-master.csv. Do not edit by hand: change the source, then run the script.
DOCX Preview.
At a glance
| Original creator | Microsoft |
| First published | 2006 |
| Purpose | The Word document format: paragraphs, tables, styles and media as XML inside a ZIP package. |
| Extensions | .docx |
| Poka parser | poka-docx |
| Viewer | poka-text-viewer |
| Depth tier | Parser with a shared viewer (see Depth tiers) |
| Breadth tier | B3 Core (see Breadth tiers) |
Preview a sample
These are sample files, not yours. Poka opens a sample in your browser: the file is read and parsed on your device and nothing is uploaded.
How much Poka reads
B3 Core. Only the main content type or types are decoded (for example geometry but not materials, layers or annotations, or only one version family). The list of gaps is substantial.
Confidence: high (the reviewer read the code and a test that proves the claim). Basis: Reviewed 2026-10-16: the whole poka-docx crate (src/lib.rs 925 lines and the WASI wrapper), its unit tests and tests/samples.rs (run), and a native probe over the corpus (content for 29 of 30 .docx, 13 of 13 .docm, 10 of 10 .dotx and 10 of 10 .dotm; poka-text-viewer shows numbered monospace text). Covers Transitional OOXML text and structure; Strict is plausible (element names are matched without namespaces) but the corpus has no Strict .docx. .docm is an alias route to the same wasm. The corpus holds one genuinely empty document (artcraft-wordcraft-docx-01.docx, whose body is a single empty paragraph), which previews as the empty note rather than as nothing; tests/samples.rs states that fact and checks it is the only one, rather than skipping the file. A heading level comes from w:outlineLvl on the paragraph and on its style as well as from a heading style name; 45690.docm, which carries only w:outlineLvl and no paragraph style, is asserted in tests/samples.rs.
What Poka does not read
- All character and paragraph formatting, and page layout (size, margins, columns, section and page breaks)
- Picture content (shown as a placeholder), charts, SmartArt and drawn shapes
- Merged table cells (column spans and vertical merges are lost) and cell shading and borders
- Legal numbering patterns (1.1 and 1.1.1 print as 1. at every level) and automatic heading numbers; numbering defined only on a paragraph style is not detected
- Hyperlink targets, comment authors, dates and anchors, and footnote reference markers in the body
- Tracked-change marks and deleted text (an accept-all view is shown)
- Document properties, custom XML and fonts
- VBA macros in .docm
- Password-protected files (an Open as ZIP error)
- Legacy .doc is a different parser
Background
The Library of Congress gives the same standardisation history as for XLSX (ECMA-376 in 2006, ISO/IEC 29500 from 2008) and says Word has saved it by default since Word 2007. It replaced the binary .doc format. Poka extracts headings, lists, tables, text boxes, headers and footers, notes and comments as text; it does not reproduce page layout, and character formatting, merged table cells, hyperlink targets and macros are not kept.
Derived and related formats
- Word template and macro variants (
.dotx, .docm, .dotm): Listed by the Library of Congress; the poka-docx module comment names .docm and .dotx as handled, but only .docm has a route in the manifests and aliases. .dotx and .dotm appear in none (a content sniffer may route them; not verified end to end).
Libraries
Libraries Poka uses or has assessed for this format, with the status, licence and language the registry records.
- quick-xml (used; MIT; Rust)
- zip (used; MIT; Rust)
- docx-rs (writer-first) (candidate; MIT; Rust; https://github.com/bokuweb/docx-rs)
- python-docx (candidate; MIT; Python; https://github.com/python-openxml/python-docx)
- Open-XML-SDK (candidate; MIT; C#; https://github.com/dotnet/Open-XML-SDK)
- ECMA-376 Office Open XML (candidate; public spec; spec; https://ecma-international.org/publications-and-standards/standards/ecma-376/)
Sources
- https://loc.gov/preservation/digital/formats/fdd/fdd000397.shtml
- parsers/poka-docx/src/lib.rs