You've got a 200-page PDF that someone scanned years ago. It's just images of pages β Cmd-F finds nothing. You need to extract the text, search through it, maybe paste a paragraph into a doc. Five years ago, this meant a cloud OCR API at $1.50 per 1,000 pages, plus uploading your potentially-sensitive PDF to a third-party service. Now it means dropping the file into a tab and waiting two minutes. The thing that made the difference is Tesseract.js β and understanding what it does, where it shines, and where it falls short is worth knowing whether you're building a tool or just trying to get text out of a scan. This post walks through how browser-based OCR actually works, what to expect from the open-source state of the art, and the engineering decisions that go into shipping it well. What OCR is, briefly Optical character recognition takes an image of text and produces actual text characters.β¦