Available providers
Google Lens (remote)
The default OCR provider that offers excellent accuracy and works across all platforms.Characteristics:This scales images down by √0.5, converts to grayscale, and quantizes to 16 colors.
- Cloud-based: Requires internet connection
- Platform support: Windows, Linux, macOS
- Accuracy: Excellent Japanese text recognition
- Speed: Fast, but depends on network latency
- Privacy: Images are sent to Google servers
config.ini:meikiocr (local)
A high-performance local OCR engine specifically optimized for Japanese text in video games.Characteristics:
- Fully offline: No internet required
- Platform support: Windows, Linux, macOS
- Accuracy: Optimized for game text
- Speed: Very fast local processing
- Privacy: All processing happens locally
Chrome Screen AI (local)
Uses Chrome’s built-in Screen AI library for local OCR processing.Characteristics:
- Fully offline: No internet required
- Platform support: Windows, Linux
- Accuracy: Good for general text
- Speed: Fast local processing
- Privacy: All processing happens locally
owocr (websocket)
Connects to a local owocr instance running as a websocket server.Characteristics:
- Flexible backends: Support for multiple OCR engines
- Local or remote: Can run locally or on another machine
- Platform support: Any platform that can run owocr
- Accuracy: Depends on chosen owocr backend
- Speed: Depends on backend and connection
owocr version 1.15.0 or newer is required, and you must use an OCR backend that supports coordinates (OneOCR, Apple Live Text, Google Lens, or Bing).
Switching OCR providers
You can change your OCR provider at any time through the system tray menu or by editing the configuration file.Setting up owocr
To use the owocr provider, you need to run owocr with specific configuration:Replace
glens with your preferred owocr backend. Supported backends with coordinates include:glens- Google Lensoneocr- OneOCRapple- Apple Live Text (macOS only)bing- Bing OCR
ws://127.0.0.1:7331 by default and maintains a persistent websocket connection for optimal performance.
Creating a custom provider
If none of the built-in providers meet your needs, you can create your own OCR provider. See the Custom OCR Provider guide for detailed instructions. The basic requirements are:- Create a new directory in
src/ocr/providers/ - Add a
provider.pyfile with a class inheriting fromOcrProvider - Implement the
scan()method to return normalizedParagraphobjects - Set a unique
NAMEproperty for your provider
Provider comparison
| Provider | Offline | Setup Required | Best For |
|---|---|---|---|
| Google Lens | No | None | General use, high accuracy |
| meikiocr | Yes | None (auto-downloads models) | Gaming, privacy, offline use |
| Chrome Screen AI | Yes | Manual component download | Privacy with minimal setup |
| owocr | Depends | owocr installation | Flexibility, custom backends |