Private by design. Processed in your browser on your device. No account required. How it works

PDF to Word Converter

Turn selected PDF pages into a Word-compatible DOCX. The converter extracts native text when available, can run OCR on scanned pages, and flags results that may need cleanup.
PDF to Word
Choose a file to start
Upload a PDF, pick the pages you need, and decide how scanned pages should be handled before building the DOCX.
  • Page range is optional. Leave it blank to convert the whole PDF.
  • Scanned pages can use OCR when native text is weak or missing.
  • The DOCX appears in the right panel with a review summary before you download it.
Works with PDF files.
{{ imageToBeConverted.name }}
Native text, tables, and images stay editable when possible. Scanned pages can use OCR.
Pages: {{ pageCount }}
PDF preview
{{ pageRangeError || pageRangeSummary }}
Use OCR when the PDF looks like a scan or has weak text extraction.
Advanced options Set OCR language and cleanup only when the default output needs more control.
Language packs download on first use.
{{ qualityOptions.find((preset) => preset.id === ocrQuality)?.description }}
Better results usually come from clean scans, the right OCR language, and converting only the pages you need.
Result panel
Your DOCX will appear here
After upload, this panel shows conversion progress, extraction quality, and a clear download action.
  • Native text pages usually preserve structure best.
  • OCR pages stay more editable than image-only pages.
  • The review summary helps you see which pages may need cleanup in Word.
{{ conversionInProgress ? 'Building' : (conversionIsComplete ? 'Ready' : 'Queued') }}
Building your DOCX
DOCX ready to download
Ready to convert
{{ progressLabel || 'Preparing conversion...' }}
Review the summary below, then download the DOCX or change the OCR settings and run it again.
We preserve editable structure when possible and fall back to OCR or page imagery when needed.
Language: {{ selectedOcrLanguageLabel }}
Cleanup: {{ selectedOcrQualityLabel }}
Converted pages {{ extractionSummary.convertedPages }}
Native text pages {{ extractionSummary.nativePages }}
OCR pages {{ extractionSummary.ocrPages }}
Image fallback pages {{ extractionSummary.imageFallbackPages }}
OCR confidence {{ summaryConfidenceLabel }}
Review pages {{ lowConfidencePagesLabel }}
Skipped blanks {{ extractionSummary.skippedBlankPages }}
Requested pages {{ extractionSummary.requestedPages }}
Native-text pages usually preserve structure best. OCR pages are more editable than image-only pages, but low-confidence pages should still be reviewed in Word after download.
DOCX summary
Review extraction quality before download
{{ conversionIsComplete ? 'The DOCX is ready. Use the extraction summary to spot pages that may need cleanup in Word.' : 'The conversion summary will appear here once the DOCX is ready.' }}
  • Native text pages: {{ extractionSummary ? extractionSummary.nativePages : 0 }}
  • OCR pages: {{ extractionSummary ? extractionSummary.ocrPages : 0 }}
  • Review pages: {{ extractionSummary ? lowConfidencePagesLabel : 0 }}
{{ conversionIsComplete ? 'Download the DOCX from this panel, or change OCR settings and run it again.' : 'Run the conversion to prepare the DOCX download.' }}
Finish the editable document workflow
Typical next steps once the DOCX is ready.
{{ errorMessage }}

How to convert PDF to Word

Choose a PDF

Drop in a PDF and we will render each page into a DOCX document.

Download the DOCX file

Download the DOCX file once the conversion is complete.

PDF input

PDF is a document format used for pages and layouts.

DOCX output

DOCX keeps pages editable in Word-compatible apps.

Editable text when possible

Native PDF text becomes editable DOCX content instead of a page screenshot.

OCR for scanned pages

Choose automatic OCR or run it on every page, with language and cleanup controls.

Review summary

Check native-text, OCR, image-fallback, and low-confidence page counts before downloading.

Runs on your device

Document processing happens in your browser; OCR language data may download on first use.

Frequently Asked Questions

Usually, yes when the PDF contains a usable text layer or OCR recognizes the scan. Pages that cannot be extracted may use an image fallback.

Yes. Enter individual pages or ranges, or leave the page field blank to convert the whole PDF.

Simple text, images, columns, and tables often transfer well. Complex layouts, uncommon fonts, and scans can shift, so review the summary and open the DOCX before sharing it.

No. Conversion runs in your browser on your device. OCR language data may be downloaded when you use a language for the first time.

Helpful Tips

Tip

Convert only the pages you need

For long PDFs, start with the specific pages you want to edit. Smaller page ranges finish faster and are easier to review in Word.
Tip

Match the OCR language to the document

If the PDF is scanned, choose the correct OCR language before converting. That usually improves names, dates, and table text.
Tip

Review low-confidence pages first

Pages flagged for review often need a quick pass in Word after download, especially on faint scans, forms, or multi-column layouts.

Learn More

Learn more

Native text vs OCR vs image fallback

PDF pages with real embedded text usually convert into the cleanest editable DOCX output. Scanned pages may need OCR, and difficult layouts can fall back to page imagery so the page still looks intact.

Learn more

Why some formatting still needs cleanup

Complex PDFs can include layered graphics, unusual fonts, forms, or tightly positioned elements. The DOCX usually stays usable, but headings, spacing, and tables may still need a final edit in Word.

Learn more

Useful next steps after export

Need plain text instead of DOCX? Try OCR PDF. Need to turn the finished DOCX back into a PDF? Use Word to PDF.

JPEGConvert logo

Need a hand with your file?

JPEGConvert.com keeps the workflow simple: upload, convert, and download. For the best results, start with the highest-quality source file you have.

About the team | Contact support


(function() { const title = document.querySelector('h1'); const actionRegion = document.querySelector('.action-container, .action-body'); if (!title || !actionRegion || title.querySelector('.tool-hero-mark')) return; const path = window.location.pathname.replace(/\/$/, ''); if (!path || path === '/' || path.startsWith('/converters') || path === '/about' || path === '/contact' || path === '/support' || path === '/privacy-policy') { return; } const lowerKey = path.replace(/^\/(video|audio)\//, '').replace(/^\//, '').toLowerCase(); if (!lowerKey) return; let category = 'image'; if (path.startsWith('/video/')) category = 'video'; if (path.startsWith('/audio/')) category = 'audio'; const isUtility = lowerKey.includes('ascii') || lowerKey === 'check-my-file' || lowerKey.includes('resizer') || lowerKey.includes('metadata') || lowerKey.includes('compress') || lowerKey.includes('base64') || lowerKey.includes('background') || lowerKey.includes('crop') || lowerKey.includes('watermark') || lowerKey.includes('remove-pages') || lowerKey.includes('unlock') || lowerKey.includes('protect') || lowerKey.includes('editor') || lowerKey.includes('excel') || lowerKey.includes('upscale') || lowerKey.includes('merge') || lowerKey.includes('split') || lowerKey.includes('ocr') || lowerKey.includes('sign') || lowerKey.includes('trim') || lowerKey.includes('favicon'); if (category === 'image' && isUtility) category = 'tool'; const labelMap = { jpg: 'JPG', jpeg: 'JPEG', png: 'PNG', gif: 'GIF', svg: 'SVG', pdf: 'PDF', heic: 'HEIC', jfif: 'JFIF', webp: 'WEBP', bmp: 'BMP', ico: 'ICO', word: 'DOCX', docx: 'DOCX', excel: 'Excel', xls: 'XLS', xlsx: 'Excel', mp4: 'MP4', mov: 'MOV', avi: 'AVI', mp3: 'MP3', aac: 'AAC', flac: 'FLAC', wav: 'WAV', webm: 'WEBM', cr2: 'CR2', arw: 'ARW', nef: 'NEF', raf: 'RAF' }; const formatLabel = (value) => labelMap[value] || value.toUpperCase(); function getFormatMeta(key) { if (key === 'check-my-file') { return {primary: 'Check', secondary: 'File', connector: 'dot'}; } const directMatch = key.match(/^([a-z0-9]+)-to-([a-z0-9]+)$/); const convertMatch = key.match(/^convert-([a-z0-9]+)-to-([a-z0-9]+)$/); const convertToMatch = key.match(/^convert-to-([a-z0-9]+)$/); if (directMatch) { return {primary: formatLabel(directMatch[1]), secondary: formatLabel(directMatch[2]), connector: 'arrow'}; } if (convertMatch) { return {primary: formatLabel(convertMatch[1]), secondary: formatLabel(convertMatch[2]), connector: 'arrow'}; } if (convertToMatch) { return {primary: 'Any', secondary: formatLabel(convertToMatch[1]), connector: 'arrow'}; } if (key.startsWith('compress-')) { return {primary: 'Compress', secondary: formatLabel(key.replace('compress-', '')), connector: 'dot'}; } if (key.includes('base64') && key.includes('decode')) { return {primary: 'Base64', secondary: 'Decode', connector: 'dot'}; } if (key.startsWith('base64-to-')) { return {primary: 'Base64', secondary: formatLabel(key.replace('base64-to-', '')), connector: 'arrow'}; } if (key.includes('-to-base64')) { const from = key.replace('convert-', '').replace('-to-base64', ''); return {primary: formatLabel(from), secondary: 'Base64', connector: 'arrow'}; } if (key.includes('base64')) { return {primary: 'Base64', secondary: 'Encode', connector: 'dot'}; } if (key.includes('ascii')) { return {primary: 'ASCII', secondary: 'Art', connector: 'dot'}; } if (key.includes('resizer')) { return {primary: 'Resize', secondary: 'Pixels', connector: 'dot'}; } if (key.includes('remove-pages')) { return {primary: 'Remove', secondary: 'Pages', connector: 'dot'}; } if (key.includes('crop') && key.includes('pdf')) { return {primary: 'Crop', secondary: 'PDF', connector: 'dot'}; } if (key.includes('pdf-editor')) { return {primary: 'Edit', secondary: 'PDF', connector: 'dot'}; } if (key.includes('unlock')) { return {primary: 'Unlock', secondary: 'PDF', connector: 'dot'}; } if (key.includes('protect')) { return {primary: 'Protect', secondary: 'PDF', connector: 'dot'}; } if (key.includes('pdf') && key.includes('metadata')) { return {primary: 'Clean', secondary: 'Metadata', connector: 'dot'}; } if (key.includes('metadata')) { return {primary: 'EXIF', secondary: 'Clean', connector: 'dot'}; } if (key.includes('background')) { return {primary: 'Remove', secondary: 'Background', connector: 'dot'}; } if (key.includes('crop')) { return {primary: 'Crop', secondary: 'Image', connector: 'dot'}; } if (key.includes('watermark')) { return {primary: 'Watermark', secondary: 'Image', connector: 'dot'}; } if (key.includes('upscale')) { return {primary: 'Upscale', secondary: 'Image', connector: 'dot'}; } if (key.includes('merge')) { return {primary: 'Merge', secondary: 'PDF', connector: 'dot'}; } if (key.includes('split')) { return {primary: 'Split', secondary: 'PDF', connector: 'dot'}; } if (key.includes('ocr')) { return {primary: 'OCR', secondary: 'PDF', connector: 'dot'}; } if (key.includes('sign')) { return {primary: 'Sign', secondary: 'PDF', connector: 'dot'}; } if (key.includes('trim')) { return {primary: 'Trim', secondary: 'Video', connector: 'dot'}; } return {primary: 'Tool', secondary: '', connector: 'dot'}; } function getIconClass(key, categoryName) { const toFormat = key.split('-to-')[1]; if (key === 'check-my-file') return 'bi-file-earmark-check'; if (key.includes('ascii')) return 'bi-textarea-t'; if (key.includes('resizer')) return 'bi-aspect-ratio'; if (key.includes('metadata')) return 'bi-shield-slash'; if (key.includes('compress')) return 'bi-file-earmark-zip'; if (key.includes('base64')) return 'bi-journal-code'; if (key.includes('background')) return 'bi-scissors'; if (key.includes('crop')) return 'bi-crop'; if (key.includes('watermark')) return 'bi-type'; if (key.includes('remove-pages')) return 'bi-trash'; if (key.includes('unlock')) return 'bi-unlock'; if (key.includes('protect')) return 'bi-lock'; if (key.includes('editor')) return 'bi-pencil-square'; if (key.includes('excel')) return 'bi-file-earmark-spreadsheet'; if (key.includes('upscale')) return 'bi-arrows-angle-expand'; if (key.includes('merge')) return 'bi-files'; if (key.includes('split')) return 'bi-scissors'; if (key.includes('ocr')) return 'bi-file-earmark-text'; if (key.includes('sign')) return 'bi-pen'; if (key.includes('trim')) return 'bi-scissors'; if (toFormat) { switch (toFormat) { case 'jpg': case 'jpeg': return 'bi-filetype-jpg'; case 'png': return 'bi-filetype-png'; case 'gif': return 'bi-filetype-gif'; case 'svg': return 'bi-filetype-svg'; case 'pdf': return 'bi-filetype-pdf'; case 'word': case 'docx': return 'bi-file-earmark-word'; case 'xls': case 'xlsx': case 'excel': return 'bi-file-earmark-spreadsheet'; case 'heic': return 'bi-filetype-heic'; case 'webp': return 'bi-filetype-webp'; case 'bmp': return 'bi-filetype-bmp'; case 'ico': return 'bi-file-image'; case 'mp4': return 'bi-filetype-mp4'; case 'mov': return 'bi-filetype-mov'; case 'mp3': return 'bi-filetype-mp3'; case 'wav': return 'bi-filetype-wav'; case 'avi': return 'bi-filetype-avi'; default: return 'bi-file-earmark-image'; } } if (categoryName === 'video') return 'bi-film'; if (categoryName === 'audio') return 'bi-music-note-beamed'; if (categoryName === 'image') return 'bi-file-earmark-image'; return 'bi-gear'; } const formatMeta = getFormatMeta(lowerKey); const connectorIcon = formatMeta.connector === 'arrow' ? 'bi-arrow-right-short' : 'bi-dot'; const iconClass = getIconClass(lowerKey, category); const mark = document.createElement('span'); mark.className = `tool-hero-mark converter-mark converter-mark--${category}`; const iconWrap = document.createElement('span'); iconWrap.className = 'converter-mark__icon'; const icon = document.createElement('i'); icon.className = iconClass; iconWrap.appendChild(icon); mark.appendChild(iconWrap); const formatWrap = document.createElement('span'); formatWrap.className = 'converter-format'; const primary = document.createElement('span'); primary.className = 'format-pill'; primary.textContent = formatMeta.primary; formatWrap.appendChild(primary); if (formatMeta.secondary) { const connector = document.createElement('span'); connector.className = 'format-connector'; const connectorIconEl = document.createElement('i'); connectorIconEl.className = connectorIcon; connector.appendChild(connectorIconEl); formatWrap.appendChild(connector); const secondary = document.createElement('span'); secondary.className = 'format-pill format-pill--secondary'; secondary.textContent = formatMeta.secondary; formatWrap.appendChild(secondary); } mark.appendChild(formatWrap); title.classList.add('tool-hero-title'); title.prepend(mark); })();