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.
Preview
Your DOCX will appear here
See conversion progress and text quality, then download your Word document.
  • 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, or change OCR settings and run it again.' : 'Run the conversion to prepare the DOCX download.' }}
Save your edited document as PDF
After editing the DOCX, convert it to PDF to use the PDF tools below.
{{ 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.

OCR language support

Choose the language used in the scanned pages. 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.

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?

Check the supported formats and settings for your task. If the result isn’t what you expected, our support page can help you find the next step.

Get help | 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 === 'prepare-for-ai' || 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'}; } if (key === 'prepare-for-ai') { return {primary: 'Prepare', secondary: 'AI', 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 === 'prepare-for-ai') return 'bi-ui-checks-grid'; 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); })();