How OCR works here
A scanned PDF holds pictures of pages, not text. To get Markdown out of it, each picture has to be read by a text recognition model. On most sites that means uploading the file to a server. Here the model comes to you instead:
- The converter looks at every page. Pages that already have a text layer are read directly, which is faster and exact. Pages with no text layer, or with one made of characters that don't map to letters, go to OCR.
- The page is drawn as an image in the tab, at a resolution high enough for small print.
- A detection model finds the lines of text, and a recognition model reads each line. Both are PaddleOCR models (Apache 2.0), running in WebAssembly, on several threads when your browser allows it.
- The lines are put back in reading order, with paragraphs joined, headings guessed from line height, and rows that line up in columns rebuilt as tables. The page then becomes Markdown like any other.
The first scan you convert downloads the model: about 6 MB for Latin scripts and Chinese, about 20 MB for Japanese or Korean. After that it is cached, and OCR starts at once.
How fast is it?
On a recent laptop, a typical page takes two to four seconds after the model has loaded. Phones are slower, and a page with tiny, dense print takes longer than a letter. The progress line shows which page is being read, and Cancel stops the run at any point. Pages already read are kept, so starting again picks up where it stopped.
If only some pages are scanned, only those go through OCR. A 200-page report with three scanned appendix pages converts nearly as fast as one with none.
Check the pages the OCR was unsure of
Recognition models are good, not perfect. Instead of leaving you to proofread everything, the converter keeps the model's confidence for every line. A page where any line fell below the threshold is flagged under Pages to check with the label "OCR unsure of some words", and the picture of the page sits beside its Markdown so you can compare them.
This is also where you fix the opposite problem. Some PDFs have a text layer that is broken: fonts that map to the wrong characters, so the text reads as nonsense. Those pages are flagged as garbled, and Read this page with OCR reads just that page from its picture instead.
Choose the right model
| Your document | Pick under Scanned pages | Download |
|---|---|---|
| English, Spanish, French, German, Portuguese and other Latin-script languages | Latin scripts and Chinese | about 6 MB |
| Chinese (simplified and traditional print) | Latin scripts and Chinese | about 6 MB |
| Japanese | Japanese | about 21 MB |
| Korean | Korean | about 18 MB |
The choice is remembered for your next visit. A document that mixes English with one of the others reads best with the model for the other language, since each model also knows Latin letters and digits.
Get better results from a scan
- Scan at 300 dpi if you are scanning yourself. Below 200 dpi, small print starts to blur into the wrong letters.
- Straight pages read better. A page photographed at an angle, or curving into the spine of a book, can lose words near the edges.
- Use Every page under Scanned pages when a PDF has a text layer you don't trust, such as one added by an old scanner's OCR. The converter then ignores it and reads every page itself.
- Convert a page range for long scans on a phone, to keep memory in check.
What OCR can't do yet
- Handwriting isn't supported; the models are trained on print.
- Crowded or skewed tables. A scanned table becomes a Markdown table when its columns line up clearly. Tight columns, or a page scanned at an angle, can come out as lines of text instead. More in PDF table to Markdown.
- Formulas come out as the characters the model sees, not as LaTeX.
- Languages outside the models above, such as Arabic, Hebrew, Cyrillic, Greek, Thai or Hindi, aren't covered by the OCR. PDFs in those languages that have a text layer still convert, because no OCR is needed.
Is OCR in the browser private?
Yes. Each page is drawn and read inside this tab, and the text stays in its memory until you copy or download it. Nothing about the page, not the image and not the text, is sent anywhere. That makes it suitable for scanned contracts, medical letters and other papers you would rather not upload. You can watch the network panel of your browser's developer tools while it runs: no request carries your file or its text.
Frequently asked questions
Can it convert a photo of a document?
Put the photo in a PDF first; most phones can save a scan or a photo as PDF from the share menu. Then drop the PDF here. Image files themselves aren't accepted yet.
Why does the first scan take longer?
The OCR model downloads the first time, once. Later scans, even on other days, start without that wait as long as your browser keeps its cache.
My scan has a text layer, but the text is wrong. What now?
That text layer came from whatever OCR the scanner ran, and it can be poor. Pick Every page under Scanned pages and convert again, or use Read this page with OCR on the pages that look wrong.
Does it work offline?
Once a conversion has started and the model is in your cache, it doesn't need the network. If you lose your connection mid-way, the run carries on.