Categories
Open Source

OCR It – Turn Any Ebook, PDF or Slide Viewer Into Plain Text

OCR It is an open-source Chrome and Firefox extension that extracts text from ebooks, PDFs and viewers that block copying — 100% offline, powered by Tesseract.

Every developer has hit this wall at least once: a book, a slide deck or a PDF is open in some viewer that will not let you select text. The content is right there on your screen, and the only way out is screenshotting page by page and running OCR on each one by hand.

I got tired of doing exactly that, so I built OCR It — a Chrome and Firefox extension that automates the whole loop. In its first nine days on GitHub it picked up over 320 stars, so it seems I was not the only one with this problem.

What it does

Drawing the capture region over the text of an ebook page
Draw the region once; every capture reuses it.

You drag out a capture region once. After that, every press of a hotkey (Alt+Shift+S) screenshots that exact rectangle, OCRs it, and appends the text to a running transcript. Turn the page, press again, repeat.

Or hand the whole job over: Alt+Shift+A starts an automatic run that captures, turns the page for you, and repeats until the document ends. It detects the end on its own — when the text stops changing, the run stops.

The result is a plain text file. These days that usually means one thing: a few hundred pages you could not copy are now something you can paste into Claude or ChatGPT and ask questions about.

Everything runs locally

This was the part I cared most about. OCR runs on a bundled Tesseract build, inside the extension:

  • No API key, no accounts
  • No network — the extension makes zero outbound requests
  • No site access at install time; you grant it per tab when you use it
  • Open source, MIT licensed

Whatever you are reading stays on your machine.

Why Tesseract and not an AI model?

“Just use a small vision-language model” is the most common suggestion this project gets, so instead of arguing I benchmarked it. Against clean rendered text — which is what a browser viewer shows — Tesseract with the extension’s preprocessing scores ~0.1% character error rate, runs in a fraction of a second per page, and weighs about 10 MB. The VLM I tested (Qwen2.5-VL-3B) needs ~3 GB of weights and seconds per page to do no better on this material. For scanned or handwritten documents the answer would be different, but for text trapped in a viewer, the 40-year-old engine wins on every axis that matters in an extension.

One tip: leave Layout on Auto

The settings panel, with Layout set to Auto
The settings panel — Layout stays on Auto.

The one setting worth knowing about. Auto runs Tesseract’s layout analysis, which finds columns on its own. The other modes skip it — and pointed at a two-column page, Single block interleaves the columns line by line into nonsense while still reporting 95% confidence. Measured: 52.9% character error versus 0.0% on Auto. The mode names make the wrong choice sound careful; ignore them.

For the curious: one source tree, two browsers

The extension is Manifest V3 on both browsers, built from a single source tree. The only real fork is where the OCR engine lives: Chrome’s MV3 service worker has no DOM and no real Worker, so the engine is parked in an offscreen document and reached by messaging. Firefox has no offscreen API and needs none — its MV3 background is an event page with a DOM, so the engine runs right there. That difference is one small module and the manifest; everything else is shared. The README goes deeper if extension internals are your thing.

Try it

English, Portuguese and Spanish ship with it; any of Tesseract’s ~100 languages can be vendored in with one command. If you try it, I would love to hear how it goes — leave a comment below or open an issue on GitHub.

By Thiago Lima

Hey,

I am Thiago Lima, a Brazilian programmer who lives in California. The goal of this channel is to share my journey as a software engineer who left my own country to chase a dream. Here we will talk about technology itself, but also about how to migrate from our own country to become a programmer in US.

Leave a Reply

Your email address will not be published. Required fields are marked *