Extract text from a scanned PDF using optical character recognition (OCR).
Drop your PDF here
or click to select
Choose a fileScanned or image-based PDF
FusionPDF's OCR tool uses Tesseract.js, an open-source OCR engine compiled to WebAssembly, to extract text from scanned PDFs and make them searchable. Everything runs in your browser. On first use, a roughly 10 MB Tesseract language model downloads and caches locally. Your file never leaves your device. Tesseract, originally developed at HP Labs and now maintained by Google, supports over 100 languages and is among the most widely used open-source OCR engines in the world.
Drop your scanned PDF into the upload area or click to select it. The options panel appears showing a language selector. Choose the language that matches the text in your document: selecting the correct language meaningfully improves recognition accuracy, particularly for languages with accented characters or non-Latin scripts.
Click "Run OCR." The tool renders each page as a high-resolution image using PDF.js at 2x scale, then passes each page image to Tesseract.js for recognition. A progress bar tracks page-by-page processing. When complete, the extracted text appears in an editable text area. You can copy it directly or download it as a .txt file.
Tesseract.js supports over 100 languages. The tool currently offers English, French, Spanish, German, and Portuguese from the language selector. Major languages handled by Tesseract's full model set include: Chinese Simplified, Chinese Traditional, Japanese, Korean, Arabic, Russian, Hindi, Italian, Dutch, Polish, Turkish, Ukrainian, Vietnamese, and many more.
For languages using non-Latin scripts (Arabic, Chinese, Japanese, Korean, Hindi), recognition quality depends heavily on scan quality and font clarity. Tesseract was originally optimized for Latin-script languages and performs most reliably on those. Support for additional languages in the tool's selector may expand over time.
This is a question worth answering clearly. OCR is for scanned or image-based PDFs, where the pages are essentially photographs of text. Extract Text is for native PDFs, where text is already encoded as selectable characters in the file's structure.
The simplest test: open your PDF and try to select a word with your cursor. If text highlighting appears and you can copy it, the document has an existing text layer. Use the Extract Text tool instead. It's faster and more accurate because it reads the embedded text directly without any image processing.
If clicking produces no selection at all, the pages are image-based. That's when OCR is the right tool. Scans, faxes, photographs of documents, and legacy PDFs created by scanning paper all fall into this category.
Tesseract performs best on clean, high-resolution input. The key variables are resolution, contrast, and alignment. For reliable results, 300 DPI or higher is the standard recommendation, as stated in Tesseract's official documentation. Scans below 150 DPI often produce poor character recognition, especially for smaller font sizes.
Black-and-white or grayscale scans typically outperform color scans because they have higher contrast and smaller file sizes (which means faster rendering per page). If your scanner has a "document" or "text" mode, use it.
Straight alignment matters. Pages that are tilted or skewed by more than a few degrees will produce garbled output. Most modern scanners automatically deskew; if yours doesn't, straighten the page manually before scanning.
Printed text is handled well. Handwritten text is a different matter. Tesseract is not a handwriting recognition engine. It can read very neat, block-letter handwriting with limited accuracy, but cursive handwriting will produce largely unusable output. For handwriting, dedicated handwriting OCR tools or cloud-based APIs designed for that purpose will give much better results.
OCR is computationally expensive compared to operations like merging or compressing PDFs. On a modern laptop, expect roughly 2 to 5 seconds per page for a clean, 300 DPI scan. A 10-page document takes 20 to 50 seconds. Multi-page scanned books or reports take proportionally longer.
The reason is that OCR runs on your CPU inside the browser tab, not on a server farm with dedicated hardware optimized for this workload. Server-based OCR tools can feel instant because they distribute work across powerful machines and pre-warmed infrastructure. The tradeoff is straightforward: server-side is faster, browser-side keeps your sensitive scanned documents on your device.
The first run also includes the time to download and initialize the Tesseract language model (about 10 MB). After the first use, the model is cached by your browser and subsequent runs start immediately without that download step.
Scanned documents represent a specific category of high-risk content. Medical reports, legal filings, contracts, tax documents, bank statements, and identity documents are exactly the files people convert to PDF by scanning paper originals. These are also the documents most commonly processed by OCR tools, because they predate digital workflows and have no embedded text layer.
Sending a scanned medical report or a signed legal document to a third-party server for OCR processing means that unencrypted content passes through infrastructure you don't control. Even if the service claims to delete files immediately, the data is exposed in transit and in server memory during processing.
With browser-based OCR, the scanned images are rendered locally by PDF.js and processed locally by Tesseract.js. No image, no page render, and no recognized text ever leaves your browser. The output text appears in your browser tab and downloads directly to your device.
For more context on how to handle scanned documents safely, read our guides on free PDF OCR and extracting text from PDFs without uploading.