fileformer
search⌘KtranslateENexpand_moreupload_fileConvert
Converters8 file families · 44 direct conversions
What changes in a conversionarrow_forward

Convert DOCX Document Free

Rename a .docx to .zip and it opens. Here's what's inside.

Since Word 2007, a document is a ZIP folder of small text files written in XML: one for the words, one for the styles, one for each picture. Browse the folder of a real-looking letter, and see which part of the file each thing you see in Word comes from.

letter.docx/code[Content_Types].xml1.4 KBfolder_rels/code.rels0.6 KBfolderdocProps/codecore.xml0.7 KBfolderword/codedocument.xml4.2 KBcodestyles.xml29 KBcodeheader1.xml1.1 KBcodefootnotes.xml1.8 KBfoldermedia/imageimage1.png38 KB
9 parts unzipped78 KB
as letter.docx21 KBRename any .docx to .zip and open it to see this folder yourself.
word/document.xmlthe words themselves
<w:p> <w:pPr><w:pStyle w:val="Title"/></w:pPr> <w:r><w:t>Offer of employment</w:t></w:r></w:p><w:p> <w:r><w:t xml:space="preserve">Dear Sam, … role of </w:t></w:r> <w:r><w:rPr><w:b/></w:rPr> <w:t>Senior Designer</w:t></w:r> … <w:r><w:footnoteReference w:id="1"/></w:r></w:p>- Every paragraph (w:p) is split into runs (w:r) of text that share formatting. The bold job title is its own run. The heading just names a style instead of describing its look.
in Word · highlighted = this file
Acme Ltd · 14 Canal Street
Leeds LS1 4AP
Offer of employmentDear Sam, we're delighted to offer you the role of Senior Designer, starting on 3 November.Please sign and return a copy by 17 October1.1. Signing electronically is fine.
~/why-conversions-go-wrong

Styled headings survive conversion. Hand-formatted ones often don't.

A heading can be made two ways: by choosing the "Heading 1" style, or by selecting text and making it big and bold by hand. They look identical in Word. To any other program, only the first is actually a heading. Switch the method and see what a converter receives.

Heading styleHome › Styles › Heading 1Formatted by handbold, 20 pt, Georgia
in document.xml
<w:p> <w:pPr> <w:pStyle w:val="Heading1"/> </w:pPr> <w:r><w:t>Pay and benefits</w:t></w:r></w:p>
Table of contentsListed automatically under the right section.check_circle
PDF bookmarks and HTMLBecomes a real <h1> and a clickable bookmark.check_circle
Screen readersAnnounced as a heading; users can jump to it.check_circle
~/measured-in-twips

Six different units hide behind the numbers in document.xml.

The format avoids decimals by choosing a tiny unit for each kind of measurement: half-points for text, twips for margins, EMUs for pictures. A “24” can mean 12 pt, a sliver of a millimetre or a thick border depending on where it appears. Pick a measurement and move the slider to see the value Word writes.

Font sizehalf-pointsMargins & indentstwipsPicture sizeEMULine spacing240ths of a lineTable width50ths of a percentBorder widtheighths of a point
11 pt= 22 half-points11 pt × 2 = 22Half-points, so 10.5 pt can be stored as the whole number 21. szCs is the size used for complex scripts such as Arabic and Hebrew, set separately.
<w:rPr> <w:sz w:val="22"/> <w:szCs w:val="22"/></w:rPr>
points11centimetres0.388inches0.153pixels at 96 dpi14.7
~/what-else-travels

What a DOCX carries that the page doesn't show.

Sending the offer letter sends the whole package. Some of these parts are visible if you know where to look in Word; others never appear on screen at all. Each one below is real markup, and each says whether it survives into a PDF and whether Word’s Inspect Document removes it.

track_changesTracked changeschatCommentspersonAuthor & editing timefingerprintSession IDsvisibility_offHidden textfolder_openTemplate path
word/document.xml
<w:del w:id="3" w:author="Maya Chen" w:date="2026-09-28T10:14:00Z"> <w:r><w:delText>£48,000</w:delText></w:r></w:del><w:ins w:id="4" w:author="Maya Chen" w:date="2026-09-28T10:14:00Z"> <w:r><w:t>£52,000</w:t></w:r></w:ins>
Turning off “Show markup” only hides them. The original salary is still in the file, with who changed it and when, until the change is accepted or rejected.visibilityvisible in Wordonly with markup showingwarningcarried into a PDFif markup is showing when you exportcheck_circleremoved by Inspect Documentflagged; you accept or reject
~/where-formatting-comes-from

Open any DOCX and trace every character’s formatting to its source.

Word works out how each piece of text looks by layering: document defaults, then the paragraph style and every style it is based on, then a character style, then direct formatting. This page rebuilds that cascade from the XML for whichever run you click. It also shows why the text is chopped into the runs it is, counts the editing sessions recorded in rsid attributes, and spots headings and lists that were typed by hand. Then it writes a cleaner copy and checks that every paragraph’s text and formatting came through. Everything happens on your device. Both samples are real DOCX files built in your browser.

library-proposal.docx · 4.5 KB
Title
Riverside Library Refurbishment
Subtitle
Proposal for the Parks and Libraries Committee, October 2026
heading 1
Summary of the proposal
Normal
The refurbishmnet will replace the heating, lighting and shelving, and add a quiet study room on the first floor. It reopens before the summer reading scheme.
heading 1
Costs
List Paragraph
• Heating and ventilation: £182,000
List Paragraph
• Lighting: £64,500
List Paragraph
• Shelving and furniture: £91,200
Normal
Figures exclude VAT and were checked on 28 September.
Normal
All work is planned around opening hours, so the library stays open throughout.
heading 2
Timetable
Normal
Work starts in January 2027 and takes fourteen weeks. The children’s library moves to the community hall for six of them.
The left column is the paragraph style, as in Word’s draft view. Click any run of text to trace its formatting below. “Runs” mode shades each run in alternating colours, so you can see where Word split the text.
file size4.5 KBdocument.xml4.4 KBparagraphs12runs26characters620rsid share of XML23.5%
What the XML says
Main partword/document.xml
Compatibility mode15 · Word 2013 and later
Paragraphs12 · 12 with text
Runs26 · 2.2 per paragraph
Splits that change nothing9
Styles defined · used12 · 7
Text with direct formatting23.9%
Typed headingsnone
Typed numbers and bulletsnone
Editing sessions4 · root 00A1B2C3
rsid attributes51 · 1.0 KB
Theme fontsno theme part
Fields · tracked changes0 · 0
check_circleWell structured: text is styled rather than hand-formatted, headings and lists use Word’s own features, and every referenced style exists.
info4 editing sessions are recorded. Every time the document is edited and saved, Word draws a new random rsid (revision save ID), stamps it on each paragraph, run and style touched in that session, and lists them all in settings.xml. That is 51 rsid attributes, 23.5% of document.xml. They never show in Word, but they reveal which text was written together, and two files sharing the same rsidRoot (00A1B2C3) began as the same document.
info26 runs across 12 paragraphs with text. 9 of the splits change nothing you can see: rsid boundaries, proofing markers, identical neighbours. Merging them leaves about 17. Fragmented runs are why find-and-replace macros, mail-merge templates and tools that read the XML miss words that look continuous.
info“proposal” uses the character style “Strong” (bold) inside a “heading 1” paragraph that is also bold, so it shows as not bold. Bold, italic, caps and strikethrough are toggle properties: when the paragraph style and the character style both switch one on, they cancel. Click it in the page to see the cascade.
info3 custom styles are defined but never used (Committee note, Old table text, Emphasis 2…). Pasting from other documents brings their styles along.
infoA hidden “_GoBack” bookmark marks the spot where the document was last edited (Shift+F5 jumps there).
Cascade for “proposal”paragraph 3 · run 2 of 2
Document defaultsdocDefaultsParagraph styleheading 1 ← NormalCharacter styleStrong ← Default Paragraph FontDirectset on this run or paragraphResultwhat Word showsFontCalibriCalibri Light--Calibri LightSize11 pt16 pt--16 ptBold-onon-off (toggled off)Italic----off (built-in)Underline----none (built-in)Colour-#1F55D6--#1F55D6All caps----off (built-in)Highlight----none (built-in)Alignment----left (built-in)Space before-12 pt--12 ptSpace after8 pt4 pt--4 ptLeft indent----0.00 cm (built-in)First line----0.00 cm (built-in)Line spacing1.08 lines---1.08 lines
The shaded cell in each row is the layer that wins. A value set further left is overridden by anything to its right. Within the paragraph-style column, the nearest style in the “based on” chain wins, and the style it came from is named. Amber cells are a toggle: bold, italic, caps and strikethrough switched on by both the paragraph style and the character style cancel each other out.
Runs in this paragraph2 runs · 0 mergeable
This paragraph’s XMLas stored
<w:p w:rsidR="00A1B2C3" w:rsidRDefault="00A1B2C3"> <w:pPr><w:pStyle w:val="Heading1"/></w:pPr> <w:r w:rsidR="00A1B2C3"><w:t xml:space="preserve">Summary of the </w:t></w:r> <w:r w:rsidR="004F7E21"><w:rPr><w:rStyle w:val="Strong"/></w:rPr><w:t xml:space="preserve">proposal</w:t></w:r></w:p>
in the clean copy
<w:p> <w:pPr><w:pStyle w:val="Heading1"/></w:pPr> <w:r><w:t xml:space="preserve">Summary of the </w:t></w:r> <w:r><w:rPr><w:rStyle w:val="Strong"/></w:rPr><w:t xml:space="preserve">proposal</w:t></w:r></w:p>
Why the text is split14 run boundaries in the document, by what separates the two sides.
different editing session only4
different formatting3
spelling or grammar marker2
nothing, identical runs2
bookmark or comment range2
page-break marker1
Editing sessions (rsids)Characters by the rsid of the session that typed them. The list in settings.xml is sorted by value, not by date, so only the root session is known to come first.
00A1B2C3 · root280 chars
00E1072B144 chars
004F7E21101 chars
00C93D5A95 chars
Styles in use7 of 12
Normalno own properties4
List Paragraphbased on Normal · indent3
heading 1based on Normal · font, bold, size, colour, space before2
Titlebased on Normal · font, size, space after, line spacing1
Subtitlebased on Normal · size, colour, space after1
heading 2based on heading 1 · size, space before, space after, outline level1
Strong (character)based on Default Paragraph Font · bold1
Cleaner copyEdits the XML parts in place and copies everything else (images, fonts, embedded files) byte for byte. Then it reopens the new file, resolves the formatting of every character again and compares each paragraph with the original, so any change is visible.
Parts rewritten3
Runs26 → 17
rsids removed51 + 3 in styles + session list (5)
Proofing · page-break marks2 · 1
Redundant properties removed6
Headings convertedoff
document.xml4.4 KB → 2.7 KB
File size4.5 KB → 4.2 KB
Textidentical in all 12 paragraphs
Formattingidentical in 12 of 12
Reopenedparsed cleanly, every style resolves
downloadDownload clean DOCX
~/doc-docx-odt

DOC, DOCX, ODT and friends, side by side.

They all hold a word-processing document, but they're built very differently, which decides how safely they open in other apps.

DOC1997-2003The old binary format: one opaque file that only Word fully understands.
insidebinaryopens in other appspartlymacros hiddenpossible
DOCXsince 2007A ZIP of XML parts, as shown above. An international standard (ISO/IEC 29500).
insideZIP of XMLopens in other appswidelymacrosnot allowed
DOCMsince 2007The same as DOCX, but allowed to contain macros. Treat unexpected ones with caution.
insideZIP of XMLopens in other appswidelymacrosyes
ODTsince 2005LibreOffice’s open format: also a ZIP of XML, but a different vocabulary.
insideZIP of XMLopens in WordmostlystandardISO 26300
~/spec-sheet

DOCX, for reference.

Identifiers, package layout and standards from ECMA-376 and ISO/IEC 29500, plus the two conformance classes the standard defines and how the format got here.

IdentityFull nameOffice Open XML WordprocessingMLUsually just “Word document”Extensions.docx · .docm · .dotx · .dotmDocument, macro-enabled, template, macro-enabled templateMIME typeapplication/vnd.openxmlformats-officedocument.wordprocessingml.documentRegistered with IANA; .docm is application/vnd.ms-word.document.macroEnabled.12Apple UTIorg.openxmlformats.wordprocessingml.documentUniform Type Identifier on macOS and iOSMagic bytes50 4B 03 04Just a ZIP. Detectors confirm it by finding [Content_Types].xml and a word/ folder
PackageContainerZIP · Open Packaging ConventionsDefined in ISO/IEC 29500-2, shared with XLSX and PPTXEntry point_rels/.rels → word/document.xmlPart names are not fixed; the relationship decidesMain content type…wordprocessingml.document.main+xmlDeclared in [Content_Types].xmlMacrosword/vbaProject.binOnly allowed in .docm and .dotm; Word refuses to open a .docx containing oneXML encodingUTF-8 or UTF-16Word writes UTF-8 with standalone="yes"
Standards & limitsECMA-3761st edition 2006 · 5th 2016-2021The Ecma International standard, free to downloadISO/IEC 29500Parts 1-4 · first published 2008Fundamentals, packaging, compatibility, transitional featuresMicrosoft extensions[MS-DOCX] · [MS-OI29500]Word’s additions and its deviations from the standardWord file size limit512 MB32 MB for the text alone, regardless of imagesFont sizes1 to 1,638 ptStored as sz values up to 3,276 half-points
Transitional and Strict: one standard, two dialectsAlmost every DOCX in circulation is Transitional.
Transitional (ISO 29500-4)Strict (ISO 29500-1)
Main namespaceschemas.openxmlformats.org/ wordprocessingml/2006/mainpurl.oclc.org/ooxml/ wordprocessingml/main
Percentagesw:w="5000" (fiftieths)w:w="100%"
Legacy VML drawingsallowednot allowed; DrawingML only
Old-Word layout flags (w:compat)full set keptremoved
How Word saves itWord Document (the default)Strict Open XML Document
1997Word 97 binaryThe .doc format used through Word 2003: a compound file only Word fully reads.
2006ECMA-376Microsoft’s XML formats are standardised by Ecma International in December.
2007DOCX by defaultWord 2007 saves .docx unless told otherwise. Older versions need a compatibility pack.
2008ISO/IEC 29500Approved as an international standard after a contested fast-track vote, adding the Strict class.
2013Strict in WordWord 2013 can open and save Strict Open XML documents.
2016Current editionISO/IEC 29500-1:2016 is the latest revision of the core part.