Inkhmer LogoInKhmerBuilding the digital future
  • About
  • Projects
  • Blog
  • Tools
  • Learn
  • Contact
KMខ្មែរENEnglish

InKhmer.com — a personal Khmer Digital Hub curated by our team. Tools, Cambodia resources, Khmer culture, and digital projects. Practical, approachable, and built for everyone.

Social

FacebookTelegram

Quick Links

  • About
  • Projects
  • Blog
  • Tools
  • Learn
  • Contact

Explore

  • What We Build
  • How We Build
  • Roadmap
  • Experiments
  • Sitemap

Subscribe to our newsletter

Get the latest updates about Cambodia, new tools, and exclusive content delivered to your inbox.

  • Terms of Service
  • Privacy Policy
  • Cookie Policy

© 2026 InKhmer. All rights reserved.

  1. Home
  2. Tools
  3. Translation Tools
  4. Khmer Image to Text Converter | OCR & Formatter

Khmer Image to Text Converter | OCR & Formatter

Extract Khmer text from images—documents, menus, receipts, screenshots. Copy text from image Khmer, translate Khmer picture to English, or paste into Telegram. Free Khmer text scanner online.

Upload or paste an image

Upload or paste an image

Max 10 MB

About this tool

This page pulls Khmer text out of a picture. Drop in a photo or a screenshot of a menu, a sign, a receipt, a printed page or a scanned form, and the recognised text appears in an editable box you can correct, copy, or translate into English in one more click. It handles mixed Khmer and English, keeps each image as a separate output so you can work through several in one session, and lets you delete the ones you no longer need. It is for the everyday case where the words exist only as pixels: a menu you want to read before ordering, a notice photographed in a corridor, a supplier invoice, a page of a textbook, or a screenshot of a chat. The recognition runs in your browser and the image is never uploaded. The translation step is different and does leave your device: the text you have extracted is sent to Google translation, which is why the privacy question below is worth reading before you use it on anything sensitive.

How it works

The extraction is `extractTextFromImage` in `translation-source-input.client.ts`. It loads `tesseract.js`, creates a worker with the English and Khmer language data (`createWorker([eng, khm])`), passes the file to `worker.recognize`, trims the result and terminates the worker in a `finally` block so a failed run does not leave one behind. Because that happens in the page rather than on a server, the image is read locally, and the language data and the WebAssembly engine are downloaded to the browser the first time you use it. The accepted types are JPEG, PNG, WebP and GIF, and the size limit is 10 MB, checked before the worker starts. Recognised text goes into a per-image output object that also holds the file name and size, and the box is editable so you can fix a misread letter before doing anything else. The translate button calls `translateHtml` from `translate-api.client.ts`, which posts the text to `translate-pa.googleapis.com` in chunks of about 1,024 characters with the public API key configured for the site. The copy button copies whichever side you choose, extracted or translated.

Use cases

  • Reading a Khmer menu photographed on a phone before ordering
  • Turning a photographed notice or sign into text you can search and paste
  • Digitising a printed Khmer invoice or receipt so the amounts can be copied into a spreadsheet
  • Getting the text out of a screenshot of a Khmer chat to reply to it in a document
  • Extracting a page of a Khmer textbook to translate and study sentence by sentence
  • Copying an address written in Khmer from a photo into a form without retyping it
  • Capturing a page of a locked PDF by screenshot and recovering the text from the image

Frequently asked questions

  • Does my image leave the browser?

    No, not for the recognition step. The OCR runs in your browser with Tesseract.js, so the image itself is never uploaded to this site or to any OCR service. What does leave your device is the text, and only if you press translate: that sends the extracted characters to Google translation. If the image contains something confidential, extract and copy without translating, and the picture stays local.

  • Which OCR engine does it use?

    Tesseract.js, the WebAssembly build of Tesseract, loaded with both the English and the Khmer language data. It is created fresh for each image and terminated afterwards, which is why the first run of a session takes longer than the next. Nothing is sent to a cloud OCR vendor, and there is no account, quota or key needed for the recognition itself.

  • How accurate is Khmer OCR?

    It depends heavily on the image. Clean, well-lit, high-contrast printed Khmer scans well. Low-resolution phone photos, shadowed pages and photographed screens lose accuracy quickly. Khmer is harder than Latin script for OCR because consonants stack into subscripts, vowels wrap around the consonant cluster and words are not separated by spaces, so the engine has fewer cues to recover from. Expect to correct the output rather than accept it.

  • Can it read handwriting?

    Poorly. Tesseract is trained on printed text, and cursive or informal Khmer handwriting is far outside what it handles well; a handwritten note usually comes back as fragments. Printed text photographed at an angle is a better bet than a clean handwritten page. If the source is handwriting, plan on typing it rather than correcting the output.

  • What are the file limits?

    Images must be 10 MB or smaller, and the accepted formats are JPEG, PNG, WebP and GIF. The size is checked before the worker starts, so an oversized file fails immediately with a message rather than after a long wait. Very large dimensions are not resized for you, so a 50-megapixel photo will be slow even under the size limit; cropping to the text area is the quickest fix.

  • Where exactly does the translated text go?

    To Google. The translate button posts the extracted characters to `translate-pa.googleapis.com` using the public translation key configured for this site, in batches of about 1,024 characters. That is a third-party service, so the text is subject to Google handling rather than staying on your device. The recognition step and the translation step therefore have different privacy answers, and the copy buttons work without either.

  • What if the document is set in the Limon font?

    Legacy Limon is a different encoding from Khmer Unicode, and the Khmer model is trained on Unicode script, so a Limon-typeset page usually comes back as nonsense. The fix is to convert the source to Unicode first with the Limon to Unicode converter, or to paste the output into that converter if the letters came out as Latin-looking glyphs. A Unicode document scans far better.

  • Can I process several images at once?

    One at a time, but each result is kept. Every upload or paste adds a new output with its own file name, size, editable text and translation, so you can work through a stack of photos in one session and compare the results. Each output has its own delete control, and nothing is saved when you leave the page, so copy anything you want to keep before closing it.

Data and accuracy

Recognition is `extractTextFromImage` in `translation-source-input.client.ts`, which runs Tesseract.js in the browser with the English and Khmer language data; no image is uploaded. Translation is `translateHtml` in `translate-api.client.ts`, which posts the extracted text to `translate-pa.googleapis.com` in chunks of about 1,024 characters. The output list, editing, copying and deleting are in `khmer-image-to-text-client.tsx`. Content reviewed on 21 October 2026.

Sources

  • Tesseract.js — the browser OCR engine, its language data and the worker API used here — naptha
  • Cloud Translation — the Google translation service the translate button calls — Google Cloud

Content last reviewed 21 October 2026

Related tools

Translation and Khmer text tools that pair with this one:

  • Khmer Alphabet
  • English Dictionary
  • Limon to Unicode Khmer Converter — Convert Legacy Khmer Fonts
  • AI Document Translator

More in this category

  • Translate English to Cambodian Khmer
  • Khmer to English Translator
  • Limon to Unicode Khmer Converter — Convert Legacy Khmer Fonts
  • Translate Text Between Languages
Translation Tools← Back to all tools