Model or dataset
thiagotigaz/ocr-it avatar
thiagotigaz/ocr-it

OCR It: a Chrome and Firefox extension that pins one screen region and OCRs a paginated document page by page

Chrome extension: pin a screen region once, then hotkey your way through a paginated document. OCR runs 100% offline via bundled Tesseract.

393 stars29 forksJavaScriptMIT

At a glance

What is it?
OCR It keeps a fixed capture rectangle on a viewer that will not give up its text, then hotkeys through the pages and appends each read to a running transcript. The OCR runs offline through a bundled Tesseract build, and the extension makes no outbound requests.
Who is it for?
OCR It suits people reading a scanned book, a slide deck, or a PDF inside a viewer that blocks selection, especially when the text cannot leave the machine. It is not the right tool for a page whose text you can already select, for handwriting, or for a document that advances through something other than a click point or a key.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 20 days ago.
What is it written in?
Mainly JavaScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 16, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

The paginated document that refuses to be copied

A scanned book inside a viewer, a slide deck exported as images, a PDF embedded in a reader that disables selection: the text is on screen and unreachable. Screenshotting each page by hand and pasting it into an OCR tool works, but the region drifts, the page count grows, and the whole exercise turns into an afternoon of cropping. OCR It targets that specific shape of problem. You drag out the capture rectangle once, and every later press of a hotkey screenshots that exact rectangle, OCRs it, and appends the text to a running transcript. The README describes the intended audience directly: a scanned book, a slide deck, a PDF, or a reader that will not let you select text. The obvious downstream use it names is pasting a few hundred pages into an LLM, since text you could not select becomes a file you can hand to Claude or ChatGPT to summarise or search.

How the capture rectangle, the queue and the transcript fit together

The region is stored as a rectangle, not as a selector or a DOM reference. That choice is what makes the tool work on viewers that render pages to a canvas or an image, where there is nothing meaningful to query. The README's instruction for the region picker is to draw a little inside the text margins, because everything in the rectangle gets read, page numbers and running headers included.

Captures are decoupled from OCR. The screenshot is taken immediately and OCR runs in the background, so presses never block on recognition. Captures queue up, and the toolbar badge counts what is still being read. Each finished page is listed in the popup with a thumbnail of exactly what was cropped, a character count, and an OCR confidence figure. Text is editable in place, and a bad read can be re-run on its own. Export produces pages in order with `--- page N ---` separators, through Copy all or Download .txt.

Auto-run is the part with real machinery behind it. With Turn the page automatically after capture enabled, a run captures, turns the page, and repeats until the document ends. There are two ways to turn a page. Pick control stores a point, not a CSS selector, which the README presents as the deliberate design. Press a key dispatches a keyboard event, default ArrowRight, into whichever frame owns the middle of the capture region, so the reader receives it rather than the host page. Escape on the page stops a run.

Installing OCR It from the store, or building it from source

The store route is one click and self-updating. Chrome needs 116 or later, Firefox needs 140 or later. After installing on Chrome, check `chrome://extensions/shortcuts`, because Chrome silently leaves a hotkey blank when something else already claims it. Firefox has no navigable shortcut editor, so the popup's hotkey buttons point at about:addons, then the gear icon, then Manage Extension Shortcuts.

Building from source uses one tree and two targets. The build script writes a loadable directory per browser into `build/`.

bash
git clone https://github.com/thiagotigaz/ocr-it.git
cd ocr-it
npm run build          # -> build/chrome, build/firefox

For a first real use, load the unpacked build in Chrome, open a paginated document, and press the region hotkey.

text
⌥⇧R   Draw or redraw the region
⌥⇧S   Capture the region once
⌥⇧A   Start / stop an automatic run

Draw the box inside the text margins and press Enter to keep it. Then press the capture hotkey once per page. The badge should start counting as OCR works through the queue, and the popup should show a thumbnail of the crop you drew. If the crop is wrong, the thumbnail makes it obvious before you have read eighty pages.

Everything needed to run is committed. `npm install` is only for the tests, the Firefox linter, or re-vendoring Tesseract.

The site-access model, and why auto-run needs a grant

The extension asks for no site access at install. Single captures ride on `activeTab`, which the browser hands over when you press the hotkey or open the popup. Two things need a durable grant: an auto-run that outlives a page load, and turning pages inside a cross-origin iframe. The popup offers an Allow button for the site you are on when it matters, and Firefox exposes the same grant under about:addons, then OCR It, then Permissions.

This is a real trade-off rather than a marketing line. The permission surface stays small, but the first auto-run on a new site will not simply work; you have to grant access per site, and the README does not describe a bulk or wildcard grant. If your workflow spans many hosts, that is a repeated step. The privacy claim is narrower and checkable: OCR runs locally with a bundled Tesseract build, and the README states the extension makes no outbound requests at all.

Where OCR It breaks down

A page marked DUPLICATE had text identical to the one before it, nearly always because the document did not actually turn. That marker is the honest failure signal, and it is also a limitation: the tool can tell you a page repeated, but the README does not describe automatic recovery, so a stalled run means going back and advancing by hand.

Auto-run depends entirely on one of two advance mechanisms. If the viewer's next-page control is not a clickable point and does not respond to a dispatched key, auto-run has nothing to drive, and you are back to one hotkey press per page. The README does not document rollback of a run, nor an undo for a page that was captured and OCRed with the wrong region.

Accuracy is bounded by Tesseract on a screenshot, so handwriting, unusual typefaces, and low-resolution scans are outside what this design can promise. And the whole premise is a document that will not give you text: on an ordinary web page or a text-layer PDF, selecting and copying is faster, more accurate, and free.

How it differs from screenshot-to-OCR tools that call an API

The common alternative is a screenshot utility paired with a hosted OCR service, or a cloud document-AI product that accepts a PDF and returns text. Those approaches usually read better on difficult scans, because the models behind them are larger than a bundled Tesseract build, and they typically handle multi-column layout without you tuning anything.

The difference in approach is where the image goes. A hosted service means the page leaves your machine and the tool needs a key and a network. OCR It inverts that: the model is bundled, the extension makes no outbound requests, and the cost is accuracy on hard input plus a WASM payload shipped with the extension. If your document is confidential, or you are working offline, that inversion is the whole point. If your scans are messy and the content is not sensitive, a hosted service will likely read them better. A local desktop OCR application sits between the two: no network, usually a stronger engine, but no hotkey-per-page loop and no pinned region that survives page turns.

Maintenance, licence and what upgrading costs

The repository is not archived, and the last push was on 2026-08-28. Version 0.3.0, released on 2026-08-25, added Firefox support, so the project has moved from a single-browser extension to one source tree with two build targets in its most recent release. That is the shape to keep in mind when judging upgrade cost: a change to the capture or OCR path has to hold on both browsers, and Firefox's shortcut handling and temporary-add-on model differ enough that the README documents them separately.

The licence is MIT, which is permissive and places few conditions on reuse or redistribution. That is a statement about the licence text, not legal advice; if you plan to redistribute a modified build, read the LICENSE file and, where it matters, take your own advice. On the browser side, note that a Firefox temporary add-on is unloaded when Firefox quits, and only Mozilla-signed add-ons install permanently, which is what the store listing is for. The self-built route is for working on the code.

Editorial conclusion

OCR It suits people reading a scanned book, a slide deck, or a PDF inside a viewer that blocks selection, especially when the text cannot leave the machine. It is not the right tool for a page whose text you can already select, for handwriting, or for a document that advances through something other than a click point or a key. Before relying on it, capture two or three pages and check the thumbnails, the confidence figures, and whether a page comes back marked DUPLICATE, because that marker means the document did not actually turn. Then confirm the hotkey survived: on Chrome, open chrome://extensions/shortcuts and see whether the binding is still there.

Frequently asked questions

What is OCR in OCR It?

It is optical character recognition running locally through a bundled Tesseract build. The extension screenshots a pinned region, reads the text in it, and appends the result to a running transcript.

Is OCR It an AI technology?

The README does not describe the recognition engine as AI. It states that OCR runs locally with a bundled Tesseract build, with no API key and no network.

What does OCR It mean?

In this project the name is a play on OCR, optical character recognition, and the pronoun it: the extension reads a region you pin once and reuses it on every page.

Who has the best OCR technology?

The README does not compare OCR engines or rank them. It states only that OCR It runs locally with a bundled Tesseract build, with no API key and no network.

What is OCR cyber?

The README does not discuss cyber or security uses. It describes a browser extension that screenshots a pinned region, OCRs it locally, and appends the text to a transcript.

Official sources

  1. License: MIT
  2. Project website
  3. README
  4. Releases
  5. thiagotigaz/ocr-it on GitHub
Community notes

Community notes