OCR by committee, with ChatGPT as tie-breaker
Feeds conflicting output from three OCR engines to an LLM and asks it to figure out the actual text.

What it does BetterOCR runs your image through up to three OCR engines—EasyOCR, Tesseract, and KakaoBrain’s Pororo—then passes their noisy, often contradictory transcripts to an OpenAI chat model. The LLM acts as a referee, reconstructing a single clean text block from the mess. It also extracts bounding boxes and accepts optional custom context (product names, proper nouns) to nudge the model toward correct spellings.
The interesting bit Instead of tuning a single engine for edge cases, the project treats OCR as a consensus problem. The LLM doesn’t just pick a winner; it synthesizes the raw outputs, using hints from all three engines plus any user-supplied domain vocabulary to hallucinate—usefully, for once—the correct text.
Key highlights
- Ensembles EasyOCR, Tesseract, and Pororo, auto-excluding Pororo if its extra dependencies or language requirements aren’t met
- Reconciles noisy, multi-engine output via OpenAI GPT models
- Optional
contextparameter feeds domain-specific keywords to the LLM for better proper-noun handling - Includes
detect_boxesfor bounding-box extraction alongside text recognition - Explicitly targets low-resource languages and noisy inputs (examples include Korean, Hindi, and garbled English)
Caveats
- Pororo support is limited to English and Korean, and requires additional dependencies
- Under rapid development, with interfaces and features still shifting
- Hard dependency on OpenAI’s API; fully offline use isn’t supported
Verdict Worth a look if you’re wrangling mixed-language documents or noisy scans and already pay for OpenAI. If you need a fully offline, lightweight pipeline, this is not your tool.
Frequently asked
- What is junhoyeo/BetterOCR?
- Feeds conflicting output from three OCR engines to an LLM and asks it to figure out the actual text.
- Is BetterOCR open source?
- Yes — junhoyeo/BetterOCR is open source, released under the MIT license.
- What language is BetterOCR written in?
- junhoyeo/BetterOCR is primarily written in Python.
- How popular is BetterOCR?
- junhoyeo/BetterOCR has 638 stars on GitHub.
- Where can I find BetterOCR?
- junhoyeo/BetterOCR is on GitHub at https://github.com/junhoyeo/BetterOCR.