DOCX to PDF

Convert a Word .docx to a printable PDF: mammoth turns the document into clean HTML and the print dialog saves it — images and tables included.

Conversion runs entirely on your device with mammoth and your browser's print engine. Your document never leaves it.

Drop a .docx here or click to browse — Word 2007+ format only

How It Works

Conversion runs in two entirely local stages: the open-source mammoth library turns your .docx into semantic HTML inside the page, and your browser's own print engine turns that HTML into a PDF when you choose Save as PDF in the print dialog that opens.

DOCX is zipped XML
A .docx file is an OOXML package — a ZIP archive of XML parts. mammoth unzips it in memory, walks the main document part, and translates what it finds into HTML, embedding pictures as base64 data URIs on the way. No Word, no Office install, no server involved.
Semantics, not pixels
Mammoth's philosophy is deliberate: it maps meaning, not layout. "Heading 1" becomes an h1, bold stays bold, a numbered list becomes an ol — while absolute positions, headers and footers, text boxes and exact page breaks are dropped because HTML has no faithful equivalent. That keeps output clean and printable, at the cost of Word-exact appearance.
The Print Dialog Is the Converter
The generated HTML is rendered into a hidden frame styled for A4 paper with 20 mm margins via a CSS @page rule. When you click the button, the frame is sent to window.print() — your browser's print engine (the same one behind Print on any web page) produces the PDF, and its page-break decisions are the real ones you get in the file.

Frequently Asked Questions

Is the PDF a pixel-perfect copy of the Word document?

No — and that is the honest trade-off of a converter that never uploads your file. Word keeps its layout logic outside the text, and reproducing it exactly needs Microsoft's rendering engine, which server-side services run on their machines. Here, mammoth extracts the meaning of the document and your browser lays that out on A4 paper. Body text, headings, lists, tables and images come through well; exact pagination and Word-specific spacing will differ.

Are images included in the result?

Yes. mammoth reads the pictures embedded in the .docx package and inlines them as base64 data URIs in the HTML, so the print engine draws them directly. The document's text boxes and floating image placements are not preserved — images land in the flow of the text near where they appeared. A file with many high-resolution scans gets correspondingly heavy.

What happens to tables, lists and formatting?

Semantic formatting survives: headings become heading levels, bold and italic stay bold and italic, ordered and unordered lists stay lists, and plain tables are rendered as tables. What is simplified: merged cells, exotic borders, exact column widths — and anything carried by Word styles that mammoth cannot map to HTML meaning.

What doesn't survive the conversion?

Headers and footers, footnotes, comments, tracked changes, text boxes, columns and multi-section layouts are dropped — they have no faithful representation in the semantic HTML this pipeline produces. Table of contents fields, embedded objects and macros also don't convert. For those, the file needs real Word or a LibreOffice-based service.

Is anything uploaded to a server?

No. The .docx is unzipped and translated to HTML in your browser by mammoth, and the PDF is produced by your own browser's print engine. There is no upload step, no account, and no network request containing your document.