On-device OCR · LAB k-means · component analysis

Image Inspector

Read the text inside an image, pull out its real palette, and measure the shapes and ink coverage that decide whether a file prints well. The OCR engine runs as WebAssembly in your own browser, so nothing is uploaded.

Drop an image hereor click to browse — PNG, JPEG, WebP, SVG

What the OCR can and cannot read

The engine is Tesseract with the English LSTM model. It is genuinely good at printed type: labels, packaging, screenshots, scanned documents, care instructions. Give it a reasonable resolution and it will usually be accurate to the character.

It is unreliable on handwriting, on heavily stylised display faces, on text bent along a curve, and on very small or low-contrast lettering. Those are limitations of the model, not settings you can tune around. The confidence figure is reported for exactly this reason: when it drops, treat the output as a draft rather than a transcript.

Only English is loaded. Other scripts need their own language data, which is a separate download.

Questions

Is my image uploaded anywhere?

No. The image is decoded in the page and the OCR engine runs as WebAssembly in your browser. The only network requests are for the engine and language files, which come from this site and are then cached.

Why is the first run slow?

The engine and English model total around 6 MB and have to be fetched and compiled once. Later runs reuse the cached copy and start much faster.

How is the palette different from a colour picker?

A picker reports one pixel. This clusters every pixel in LAB space and reports the centre of each group together with how much of the image it covers, which is what you need when deciding how many inks a design requires.

What counts as a "shape"?

A connected region of pixels darker than the ink threshold. It is a good proxy for how many separate pieces a cutting machine would have to handle, and the speckle count warns you about fragments too small to weed.

Can I trust the CMYK numbers?

They are a direct arithmetic conversion with no colour profile, so treat them as approximate. Real CMYK depends on your printer, ink and substrate.