Skip to main content
meikipop supports multiple OCR (Optical Character Recognition) providers, allowing you to choose the best engine for your specific needs. Each provider offers different trade-offs between speed, accuracy, privacy, and system requirements.

Available providers

1

Google Lens (remote)

The default OCR provider that offers excellent accuracy and works across all platforms.Characteristics:
  • 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
Configuration options:You can reduce bandwidth usage by enabling low bandwidth mode in config.ini:
[Settings]
glens_low_bandwidth = true
This scales images down by √0.5, converts to grayscale, and quantizes to 16 colors.
2

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
meikiocr is ideal for gaming scenarios where you want complete privacy and don’t want to rely on internet connectivity.
The provider automatically downloads required models on first use and selects the optimal backend (CUDA, CoreML, or CPU) based on your system.
3

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
This provider requires manual setup. You need to download the Screen AI component from Chrome’s infrastructure packages and extract it to ~/.config/screen_ai/ on Linux or the equivalent location on Windows.
The provider will automatically throttle large images by resizing them to a maximum of 2000x2000 pixels to prevent performance issues.
4

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.
  1. Right-click the meikipop icon in your system tray
  2. Navigate to OCR Provider
  3. Select your desired provider from the list
  4. meikipop will immediately start using the new provider

Setting up owocr

To use the owocr provider, you need to run owocr with specific configuration:
pip install -U "owocr>=1.15"
owocr -r websocket -w websocket -of json -e glens
Replace glens with your preferred owocr backend. Supported backends with coordinates include:
  • glens - Google Lens
  • oneocr - OneOCR
  • apple - Apple Live Text (macOS only)
  • bing - Bing OCR
The owocr provider connects to 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:
  1. Create a new directory in src/ocr/providers/
  2. Add a provider.py file with a class inheriting from OcrProvider
  3. Implement the scan() method to return normalized Paragraph objects
  4. Set a unique NAME property for your provider
meikipop will automatically discover and load your custom provider on startup.

Provider comparison

ProviderOfflineSetup RequiredBest For
Google LensNoNoneGeneral use, high accuracy
meikiocrYesNone (auto-downloads models)Gaming, privacy, offline use
Chrome Screen AIYesManual component downloadPrivacy with minimal setup
owocrDependsowocr installationFlexibility, custom backends
Start with Google Lens for ease of use, then switch to meikiocr if you need offline capabilities or prefer local processing.

Build docs developers (and LLMs) love