Herman Harazha / Apps

OCR

Free text recognition for Mac. A keyboard shortcut, a selection of any part of the screen, and its text is copied.

Apple silicon, macOS 13 or later. Interface in English, Ukrainian and Russian.

Л. Н. Толстой, «Война и мир», том первый, страница 5

For advanced users and language models

OCR reads text that can’t be selected: pictures, scanned PDFs, video frames, app windows. It has no recognition engine of its own and joins two things macOS already has: the screen selection of screencapture and Apple’s Vision. Recognition runs on the Mac, offline. No history, no logs.

How it works

Languages

The languages are the ones Apple’s Vision has on the installed macOS, read when the app runs. The app keeps no list of its own, so what Apple adds works without a new version, and an older macOS simply has fewer. There is no language to pick: Vision detects it line by line.

Measured: 14 on macOS 13.7, 33 on macOS 27.2. The number depends on the macOS. Other versions were not counted.

macOS 13.7: English, French, Italian, German, Spanish, Portuguese, Chinese (Simplified and Traditional), Cantonese (Simplified and Traditional), Korean, Japanese, Russian, Ukrainian.

macOS 27.2 adds: Thai, Vietnamese, Arabic, Najdi Arabic, Turkish, Indonesian, Czech, Danish, Dutch, Norwegian, Norwegian Nynorsk, Norwegian Bokmål, Malay, Polish, Romanian, Swedish, Finnish, Hindi, Marathi.

Vision takes one language per line, so a word in another script inside a Latin or Cyrillic line would come out as nonsense. OCR finds such words and reads them again on their own. A word mixing Latin and Cyrillic lookalike letters is brought back to its main script.

Questions

Does it work without internet?

Yes. Recognition never uses the network; the only network call is the daily update check. Links in the window open only on a click.

Which permission does it need, and why?

Screen Recording, to read the selected area. macOS asks at the first launch. Without it, every press shows the same alert with a button to System Settings.

How is it different from Live Text in macOS?

Live Text works on pictures and video inside the apps that support it. OCR works on any area of the screen, in any app, by one shortcut, and leaves the result on the clipboard. Both read with Apple’s recognition.

Why is the first start slow?

Vision prepares its model for each program once. On macOS 27 that took about half a minute. OCR does this in the background when it starts, so later presses don’t wait.

Why macOS 13 and Apple silicon?

Below macOS 13, Vision has no Cyrillic and no language detection. Intel Macs are not supported.

Updates

Once a day the app reads the feed of its latest GitHub release (appcast.xml) through Sparkle. Nothing about the Mac is sent. When a newer version is out, a window shows it with Install Update, Remind Me Later and Skip This Version; nothing is downloaded before Install Update. Check for Updates in the window checks at once.

The feed and the disk image are signed with an EdDSA key, and Sparkle installs only an app that carries the same Developer ID signature.

Settings and removal

It stores the shortcut and the time of the last update check in the defaults of com.geragaraza.ocr and Vision’s compiled model in ~/Library/Caches/com.geragaraza.ocr.

To remove OCR: Quit in its window, move OCR.app to the Trash, run defaults delete com.geragaraza.ocr and delete that cache folder. Its Screen Recording entry is removed in System Settings, Privacy & Security.

Installed with Homebrew, brew uninstall --zap ocr quits it and removes the app, its settings and the cache; the Screen Recording entry stays for System Settings.

From Terminal

/Applications/OCR.app/Contents/MacOS/OCR --file a.png b.png prints the text of pictures instead of copying it. --selftest runs the app’s own check.

Details

English Українська Русский