AiLounge Tools

Local Image OCR

Turn English, Simplified Chinese and mixed-script text in a single JPEG / PNG / WebP image into editable text, in your browser.Processed locally · original image never uploaded

Image to text

Choose one JPEG/PNG/WebP image, load eng / chi_sim on demand, correct EXIF orientation and manual rotation, then recognize; edit, copy or download the result as UTF-8 TXT.

Run in browser

Inputs and parameters

Real example

Built-in demo sample "mixed Chinese/English"; language eng+chi_sim; EXIF=6 (clockwise 90°) plus manual rotation 270°.
→ Order No. A-2026
订单状态:Paid
Total 42.00 USD / 合计 42 美元
(demo=true; flagged "recognition may contain errors — proofread"; possible errors include No./N0. confusion and missing mixed-script spaces; UTF-8 TXT keeps line breaks)

Limits and failure handling

Real Tesseract.js / WASM / worker / traineddata are neither bundled nor tested this round; uploaded-image recognition reports unavailable, and only built-in samples return deterministic results explicitly marked demo. Recognition may contain errors with no absolute guarantee; clear English, Simplified Chinese and mixed samples each list plausible errors. Resources must be self-hosted or come from a stable configured source. Docs pages load no model; images are never uploaded and text is never logged. 390/768/1440 widths and real-device Safari were not tested.

FAQ

Which files are supported?

One JPEG / PNG / WebP image, default 10 MiB / 12 MP; PDF OCR and handwriting guarantees are out of scope at launch.

When is traineddata downloaded?

Only when a selected language is missing from cache; completed worker reuse triggers no download. Real traineddata was neither downloaded nor tested this round.

Is there a progress percentage?

No. Only validate / load-language / recognize / complete phase names are shown; no end-to-end percentage is fabricated.

Will re-recognition lose my edits?

It would overwrite, so a warning is shown first; without confirmation the overwrite is refused — copy your text or confirm.

Does cancel really stop CPU work?

The state machine checks AbortSignal between slices; cancellation moves the worker to terminated with CPU inactive, requiring reinitialization next run.