Skip to content

Repository files navigation

MonOCR

MonOCR Feature Graphic

English | မြန်မာဘာသာ | ဘာသာမန်


Mon is spoken by roughly one million people across Myanmar and Thailand. UNESCO classifies it as vulnerable — and no OCR toolchain existed for it before this project.

MonOCR takes an image of Mon script and returns text. It runs on Web, Android, and iOS — fully offline, no data leaves the device.

Built and maintained by the Mon developer community.


Live

Samples

Three real documents, the text the CLI returned for each, and the per-line records behind it — nothing hand-corrected. See samples/, which also states what was screened out and why the headline number is not an average.

Two of the three carry non-Unicode text layers, one Zawgyi and one legacy 8-bit, and both are among the cleanest results: rasterisation happens before the model, so no encoding ever reaches it.


The model

All three apps ship one model, and since 2026-08-15 it is v3.5:

Architecture MobileNetV3-Large + SE + 2×BiLSTM-512 + attention + CTC
Parameters 11,553,437
Input Grayscale, 160px height, static 1024px width
Charset 276 characters, 277 classes
Precision FP32
Published at janakhpon/monocr, revision d3d9d5e

Android and iOS bundle it (46.2 MB and 46.3 MB respectively). The web app fetches it from that pinned revision. Per-app details are in apps/android, apps/ios and apps/web.

v3.5 is not a newer v2, it is a different contract. Input height went 128 to 160, output classes 316 to 277, charset 315 to 276, and the graph's width axis went from dynamic to a static 1024. Anything still holding a cached v2 artifact is refused rather than decoded, because a mismatch of that kind returns well-formed Mon text that is wrong. v2 remains served at revision a51be11 for anyone pinned to it.

The model has no held-out evaluation. The figure that selected it is a training-time metric over 4,096 lines in a single typeface, and it is not an accuracy claim — see the model card.

A v4 server model was archived on 2026-08-05 under mon_OCR ADR-0011. It was never trained to convergence, so archiving it was a decision about maintaining a second path rather than about measured quality. It is not maintained.

No device latency number exists for any platform. Figures of that kind appeared here until 2026-08-15 and were architectural estimates, never measured on hardware.

Because high-quality Mon datasets are scarce, validated samples from the app's feedback flow feed directly into future training rounds.


Platform

The model deploys to Web, Android, and iOS — each using the format that enables hardware acceleration:

Platform Format Acceleration
Web ONNX WASM
Android ONNX NNAPI
iOS CoreML .mlpackage Apple Neural Engine

Resources


Contributing

Janakh Pon · Oung Seik Nyan · Rajel Da Key · MonDevHub

About

The MonOCR Platform: Academic-grade OCR for the Mon language. High-performance, privacy-first ecosystem across Web (SvelteKit), iOS (SwiftUI), and Android (Kotlin).

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages