Skip to content

PDF OCR

OCR PNG

The format that gives OCR the least to complain about.

Processed locally in your browser. Downloads a recognition engine once; your file is still never uploaded. How this works

  1. 01Add your files
  2. 02OCR PNG
  3. 03Download

Runs in your browser · downloads an engine file once

About OCR PNG

PNG is the best-case input. It is lossless, so every pixel that was captured is still there, with no compression ringing around character edges and no blocky artefacts to smear one letter into its neighbour. That matters because it is also the default screenshot format on most systems, which means PNG input is usually machine-rendered text: perfectly aligned, uniformly lit, anti-aliased by the operating system rather than blurred by optics. Recognition on that kind of image approaches its ceiling — the remaining errors tend to be genuine ambiguities like a capital I against a lowercase l in a sans-serif typeface, rather than image quality problems. PNG also supports transparency, which needs handling: a transparent background is composited onto white before recognition, since otherwise dark text on an empty alpha channel can be read as dark on dark. Light text on a dark background is inverted first, as recognition assumes dark ink on light paper.

How to OCR PNG

  1. 01

    Capture as PNG

    Screenshots are already PNG on most systems. For exports from design tools, choose PNG over JPEG.

  2. 02

    Add the images

    Drop in one or more PNG files; batches are processed in order.

  3. 03

    Choose the language

    Pick the matching model from the seven supported languages.

  4. 04

    Copy the text

    Results are typically very clean here; scan for ambiguous character pairs and you are done.

What this tool does

  • Lossless input means no compression artefacts to degrade character edges
  • Transparency composited onto white so alpha channels do not confuse recognition
  • Dark-mode screenshots inverted automatically to dark-on-light before recognition
  • Excellent results on machine-rendered UI text and exported document pages
  • Local WebAssembly recognition in seven trained languages

Limitations worth knowing

Every PDF tool has constraints. Stating them plainly is more useful than discovering them halfway through your work.

  • A PNG screenshot of an already-blurry image is still blurry; lossless storage cannot improve a poor source.
  • Visually similar glyphs such as capital I and lowercase l remain ambiguous in some sans-serif typefaces regardless of image quality.
  • Screenshots taken at low display scaling have few pixels per character and recognise worse than the same content captured on a high-density display.
  • Only the seven trained languages are supported.

How your file is handled

This tool runs inside this browser tab, but it first downloads a recognition engine and language model — static files, fetched once and then cached by your browser. Your document is never part of that request: the engine comes down to your device, and your file stays on it. You can verify this in the Network panel, where you will see the engine assets download and no upload of your document.

Nothing is stored after the fact. Closing or reloading this tab discards the file, the result and everything derived from them, because none of it ever left your machine. Read how local processing works.

Questions about OCR PNG

Why is PNG better for OCR than JPEG?

Because nothing was thrown away. JPEG discards the high-frequency detail that forms letter edges; PNG keeps every pixel, so glyph boundaries stay crisp.

Will a dark-mode screenshot work?

Yes. Light text on a dark background is inverted before recognition, because the engine expects dark characters on a light ground.

How do I get the best possible screenshot for OCR?

Capture at native resolution on the highest-density display you have, zoom the content in first if the text is small, and save as PNG rather than pasting through anything that re-encodes it.

Are transparent PNGs handled?

Yes — the transparent areas are composited onto white first, which avoids the failure where dark text sits on an undefined background and cannot be separated from it.

Read more about this