Detection and recognition on your device
Detect text in any image.
Drop a photo, a scan or a screenshot. A DBNet-family detector boxes every line and a small recognizer reads it. Nothing is uploaded; the first visit downloads the models and runtime once and caches them.
How this works
When you drop an image, the page starts a Web Worker that loads a PP-OCR detection model and recognizer through ONNX Runtime Web. On browsers with WebGPU the models run on your GPU; elsewhere they run as WebAssembly. The worker returns a box, a confidence and the text for each line, and the page draws them over your image.
The detector is a differentiable-binarization segmentation network with a mobile backbone, exported by the PaddleOCR project under the Apache-2.0 licence and packaged for ONNX Runtime by the ppu-paddle-ocr SDK. Details and sizes are on the PP-OCR model page; every project involved is listed on the credits page.
Limits
- Boxes are axis-aligned rectangles, so rotated lines get a loose box.
- The tiny recognizer covers a 6,900-character dictionary (Latin scripts, common CJK and more); rare characters may read as their nearest neighbour.
- Very dense pages (small print, tables) do better with the larger server-grade models in PaddleOCR itself; see the Python guide.
- Images larger than 2,000 px on the long side are downscaled before detection.
Exports
Copy JSON gives you every visible line as { index, text, confidence, box: { x, y, width, height } } in original pixel coordinates, plus the model and timing. Copy text copies the lines in reading order. Save annotated PNG saves your image with the boxes drawn on it.
Samples and credits
The storefront and street-sign photos are CC0 from Wikimedia Commons (a shop window on 7th Avenue, Ybor City, Tampa; a bilingual Irish street sign for Chapel Lane); the receipt comes from the MIT-licensed ppu-paddle-ocr repository. Everything this page runs on is on the credits page.
Privacy
No image, text or result ever leaves your browser, and nothing here is uploaded or stored by us. See privacy.
Looking for CTPN?
The CTPN page explains the 2016 detector, its results, and where the authors publish the trained model.