How to OCR a PDF on Android
Scanned PDFs are image-only documents — you can't search them, highlight text, or copy content. OCR (Optical Character Recognition) adds a text layer to the PDF so it becomes fully searchable and accessible. Until recently, this required a paid app or a subscription service. LazyPDF's OCR tool runs directly in Chrome on Android, using Tesseract.js — the same open-source OCR engine trusted by developers worldwide. Because Tesseract.js runs entirely in your browser, your document never leaves your Android device. There's nothing to install and no account to create. This guide covers how to OCR a PDF on Android from start to finish, including how to handle documents from Google Drive, email, WhatsApp, and the Google Document Scanner.
Step-by-Step: Run OCR on a Scanned PDF on Android
Chrome on Android provides full access to device storage and cloud file providers through the Android file picker, which means you can load PDFs from your Downloads folder, Google Drive, or any connected storage in one step. Tesseract.js loads into Chrome's JavaScript engine and processes each page using your phone's CPU — no cloud processing occurs. Follow these steps to convert your scanned PDF to a searchable document.
- 1Open Chrome on your Android phone and go to lazy-pdf.com/en/ocr
- 2Tap 'Choose File' — the Android file picker opens, showing Downloads, Google Drive, and other file providers in the sidebar
- 3Select your scanned PDF, then choose the document language from the dropdown on the page (choosing the correct language significantly improves accuracy)
- 4Tap 'Run OCR' and wait for Tesseract.js to process all pages, then tap 'Download' to save the searchable PDF to your Downloads folder
Getting Scanned PDFs from Google Drive and Gmail on Android
Many Android users receive scanned documents via Gmail or store them in Google Drive. Both are accessible directly through the LazyPDF file picker. When you tap 'Choose File', the Android picker shows Google Drive as a file source in the sidebar — tap it to browse your Drive files and select the PDF without downloading it first. For Gmail attachments, the easiest method is to open the email, long-press the attachment, and save it to Google Drive or to your Downloads folder. Google Drive files you haven't downloaded are still accessible through the picker because Android's Storage Access Framework handles the download transparently.
Scanning Physical Documents and Running OCR on Android
Android's Google Drive app includes a built-in document scanner (tap the + button, then 'Scan'). It uses Google's ML Kit to automatically detect document edges, correct perspective, and enhance contrast. After scanning, Drive saves it as a PDF in your Drive. To then make that PDF searchable with Tesseract.js, go to lazy-pdf.com/en/ocr in Chrome, tap Choose File, navigate to Google Drive in the picker, select your scanned PDF, choose your language, and run OCR. Note that Google Drive also has its own OCR built in (right-click a PDF → Open with Google Docs), which may be a quicker alternative if you're already in the Drive ecosystem and only need to extract text rather than keep the PDF format.
What Makes Tesseract.js OCR Private on Android
When an app or website processes your document on a remote server, your data travels over the internet to someone else's computer. LazyPDF's OCR tool is different: Tesseract.js runs as a JavaScript library inside Chrome's sandboxed browser environment. Your PDF file is accessed using the Android file picker API, passed to JavaScript as an ArrayBuffer, rendered page-by-page to a Canvas element, and processed by Tesseract.js using your phone's CPU cores. The recognized text and the reconstructed PDF exist only in Chrome's memory. After you download the result, that memory is released. Nothing is ever sent to lazy-pdf.com's servers or any third party.
Improving OCR Accuracy on Android
Several factors affect how accurate Tesseract.js is on your Android device. Resolution matters most: scans at 300 DPI produce far better results than 150 DPI. Use the Google Drive scanner or a dedicated scanning app (Microsoft Lens, Adobe Scan) rather than the standard camera app — scanning apps automatically apply document enhancement. Select the correct language in LazyPDF before running OCR; using the wrong language can cause garbled output. For mixed-language documents, choose the primary language. If your scan is skewed more than a few degrees, use the LazyPDF Rotate tool first to straighten it, then run OCR. Handwritten text is generally not recognized accurately by Tesseract.js — it's designed for printed text.
Frequently Asked Questions
Can I OCR a PDF on Android without installing an app?
Yes. Open Chrome on your Android device and go to lazy-pdf.com/en/ocr. Load your scanned PDF from your Downloads folder or Google Drive, select the document language, and tap Run OCR. Tesseract.js runs inside Chrome's JavaScript engine on your device — there's no app to install and nothing is uploaded to any server. It works on Android 8 or later with Chrome 90 or newer.
How accurate is the OCR on Android with Tesseract.js?
Accuracy depends heavily on scan quality. For a cleanly scanned printed document at 300 DPI with good contrast, Tesseract.js typically achieves 95-99% character accuracy. For low-resolution phone photos of documents with shadows or skew, accuracy can drop to 70-85%. Use a scanning app (Google Drive scanner, Microsoft Lens) rather than the regular camera for best results, and always select the correct document language in the tool.
How long does OCR take on Android?
Processing speed on Android varies by device. A flagship phone from 2022 or later will typically process one standard letter-size page in 15-25 seconds. Mid-range devices may take 30-60 seconds per page. A 5-page scanned document takes roughly 2-5 minutes depending on your device. Chrome keeps the screen awake during processing, but make sure your phone's battery saver mode isn't throttling Chrome's CPU access, as this can significantly slow down Tesseract.js.