PDF to Word Converter
Extract the text from a PDF into a real, editable .docx file. Headings are detected automatically from font size, and password protected PDFs are supported. Runs entirely in your browser.
Click or drop a PDF
Text-based PDFs · processed on your device, never uploaded
How this PDF to Word converter turns positioned text back into paragraphs
PDF, as defined by ISO 32000, records text as individually positioned glyphs on a fixed page canvas. There is no paragraph object, no sentence boundary, nothing marking where one thought ends and the next begins. Word’s .docx format, which is OOXML under ECMA-376, is the opposite: it is fundamentally a tree of paragraph and run elements. Converting from one to the other means inferring structure that the source format never stored in the first place.
This tool reads the source PDF with pdf.js, Mozilla’s PDF renderer, and builds the output document with docx, a JavaScript library that writes real OOXML packages. Both libraries run in your browser tab. The file is never sent anywhere. Everything from opening the PDF to producing the final .docx blob happens locally.
From glyph positions to paragraphs
The extraction pipeline runs the same core steps whether you’re converting one page or fifty.
getTextContent() hands back every glyph run with a transform matrix. Because PDF’s coordinate origin is the bottom left of the page, the fifth value in that matrix is the Y baseline, and fragments within roughly a third of a text-height of each other on that axis are merged into one line.
Conversion options and what they change
| Option | Effect on output |
|---|---|
| Page range | Same syntax as a print dialog, e.g. 1-3, 7, limiting which pages get extracted |
| Paragraph mode | Smart merges wrapped lines into paragraphs; Line-by-line keeps every source line as its own paragraph |
| Preserve page breaks | Inserts a real docx.PageBreak() element wherever a new source page begins |
| Keep approximate sizes | Maps each line’s PDF font height in points to a Word run size in half-points, the unit OOXML expects, clamped between 14 and 72 half-points |
Two limits to know before you start
Scanned PDFs return nothing
A page that is a photographed or scanned image has no embedded text layer for getTextContent() to read. The tool checks the character count on page one and shows a warning if it looks suspiciously low, since that usually means the source needs OCR before conversion, not a different setting here.
Legacy .doc is not supported
This is a PDF reader, not a Word writer for the old binary format. Output is always modern OOXML .docx, which every version of Word since 2007, along with Google Docs and LibreOffice, opens natively.
PDF structure and tooling
- ISO 32000-2, the PDF specification defining the text-showing operators and coordinate system this tool reads.
- pdf.js documentation, the renderer supplying every glyph’s position, height and font data.
- ECMA-376, the Office Open XML standard that defines the
.docxpackage this tool writes. - docx.js documentation, the library used to build paragraphs, runs, page breaks and the final document package.
Editing jobs this unlocks
Pulling editable text out of a contract or report that only exists as a PDF, recovering a manuscript or article for further editing, converting an old scanned then OCR’d PDF into a document you can actually revise, and lifting the body copy out of a form letter template so it can be updated in Word going forward. Anywhere the source content is locked inside a PDF and the actual need is editable text, not a pixel perfect replica of the page.
FAQ: PDF to Word Converter
No, this tool extracts the text content and reconstructs paragraph breaks based on line position, but it does not preserve exact fonts, colors, images, tables, multi-column layouts, or precise positioning from the original PDF. It’s best suited for getting text-heavy content (reports, articles, letters, contracts) into an editable format quickly, expect to do some manual formatting cleanup afterward for anything beyond plain paragraphs.
PDFs can contain either real, selectable text or a scanned image of a page (essentially a photograph of text) with no underlying text data at all. If a PDF page is a scanned image, there is no text for pdf.js to extract, since the words only exist as pixels, not as characters. Converting scanned documents to editable text requires OCR (optical character recognition), which is a different technology this tool doesn’t currently include.
Not with this tool as-is, since it extracts existing text data rather than recognizing text within images. If your PDF was created by scanning a paper document, look for a dedicated OCR tool, some PDF readers and online services include OCR specifically for this purpose, which analyzes the image pixels to guess the characters present.
Yes, the tool constructs a genuine, valid .docx file following the real Office Open XML format that Word, Google Docs, LibreOffice, and Apple Pages all use and understand, it is not a renamed text file. It contains standard Word paragraphs that you can immediately select, edit, format, and save like any other Word document.
No, both the text extraction (via pdf.js) and the Word document construction (via JSZip) happen entirely in your browser using JavaScript; your PDF’s content is never transmitted anywhere. This also means the tool works without an internet connection once the page and its libraries have loaded.
PDF files don’t always store text in reading order or with explicit space characters between every word, sometimes spacing is achieved purely through positioning rather than actual space characters in the underlying data. The extraction logic makes a best effort to insert spaces based on line grouping, but unusual PDF encodings, multi-column layouts, or tables can occasionally produce text in an unexpected order or with missing spaces that need manual correction.
No, encrypted or password-protected PDFs can’t be read by the browser-based extraction library. You’ll need to remove the password protection first, using Adobe Acrobat, an online PDF unlock tool, or the software that created the PDF, before uploading it here.
There’s no hard page limit built into the tool, since everything runs locally in your browser’s memory rather than through a server upload quota, but very long documents (hundreds of pages) will take longer to process and may be slower to preview and scroll through than shorter ones.
From the blog
Format guides and gotchas
What each format stores, and what quietly disappears in conversion.