Image to Text (OCR)
Read printed text from a PNG or JPEG without uploading the image through this tool. Choose the recognition language, review the image and correct the recognized text before copying or downloading it.
Recognize and review printed text
- Choose one local PNG, JPG or JPEG up to 5 MiB and 4 million pixels, with neither side above 8192 pixels. Non-animated, non-interlaced PNG and header-readable JPEG are supported. Use English example selects an English image and recognition model without starting OCR.
- Select the language printed in the image, then choose Recognize text. English, Russian, Simplified Chinese, Portuguese, Italian, Spanish, French and German are available in every page language. This selection is not automatic language detection or translation.
- Compare the recognized text with the prepared image and correct mistakes in the editor. Copy text and Download text use the full current valid draft. Restore recognition removes local edits without running OCR again; changing the image or recognition language clears the result.
Understand what OCR can and cannot read
OCR estimates characters from image pixels. Clear horizontal printed text is the intended input. Blurring, small letters, skew, complex layouts, unusual fonts and a mismatched language can cause missing, substituted or wrongly ordered text. No result is guaranteed accurate, and the tool does not display a confidence score as an accuracy percentage.
The image is decoded at its oriented resolution and placed on an opaque white background without resizing, cropping or automatic upright detection. The preview uses those same prepared pixels. White lettering on transparent backgrounds may disappear against white; prepare a contrasting source image first.
Page language controls the interface, not the document's contents. Recognition starts with the page's matching model but remains an independent choice afterward. The Portuguese model is not claimed to be Brazil-specific, and Simplified Chinese recognition does not promise Traditional Chinese or vertical-text accuracy. Only one model is used at a time.
This version produces editable plain text, not Word documents, tables, searchable PDFs, translated text or reconstructed page layouts. URLs and markup in the result are inert text. No text detected is a recognition outcome, not proof that an image contains no writing.
Review output and local corrections
The English example is designed as a clear 1200 by 400 pixel image containing Hello 2026. For a returned text value of Hello 2026 followed by LF, the editor contains 11 Unicode scalars and the UTF-8 download has 11 bytes. This explains the counting and export policy, not an accuracy guarantee for every image.
Adding an exclamation mark before that LF changes the current draft to 12 scalars and 12 bytes and marks it Edited locally. Restore recognition returns the stored engine text. Editing does not validate the transcription or start another recognition attempt.
Characters and bytes differ across writing systems. The text café, a space, 你好, a space, an emoji 😀 and LF contains 10 Unicode scalars but 18 UTF-8 bytes. The emoji uses two UTF-16 units, and combined writing marks can span several scalars. These counts are not words or user-perceived characters.
Input, runtime and text bounds
Original files are limited to 5242880 bytes, oriented images to 4000000 pixels and 8192 pixels per side, and the prepared PNG to 16777216 bytes. Strict header budgets may reject an otherwise valid image. Animated PNG, known multi-picture JPEG, WebP, GIF, SVG, PDF, camera, URL and batch input are not supported.
Preparation has a 15000 millisecond watchdog within a 120000 millisecond overall attempt watchdog, including static engine and language loading. Browser scheduling can delay cancellation observation. A worker error, unsupported capability, timeout or cancellation produces no partial exported result and never falls back to an upload or main-thread recognizer.
Received text and editable drafts fit 200000 UTF-16 units, 100000 Unicode scalars and 400000 UTF-8 bytes. Unpaired surrogates, NUL or blank drafts cannot export; text is never silently repaired or truncated. The UTF-8 download keeps current spaces and line endings, with no added BOM or final newline. Clipboard applications may handle line endings differently.
Handwriting, equations, vertical text, mixed-language accuracy and document layout preservation are not promised. OCR and the chosen fast models can make mistakes. Compare important characters and numbers with the image rather than interpreting success, output size or a model name as proof of correctness.
Local recognition and static asset loading
This tool adds no image upload, account, saved history, source-bearing share URL or image/text logging. It downloads fixed engine assets and the selected language from this site's origin when recognition starts; a cold attempt can need about 8 MiB. Engine IndexedDB language caching is disabled, though normal static HTTP caching can occur. Existing site services remain subject to site policies; local processing is not certification of those services, deployment or offline availability.
Questions about image-to-text recognition
Sources
References for the engine, models and text encoding.
- github.comTesseract.js API documentation
- github.comOfficial fast language models
- encoding.spec.whatwg.orgUTF-8 encoding standard
Reviewed 6 November 2026.
These sources do not certify this tool or guarantee recognition accuracy.
Related tools
SVG to PNG
Convert a local SVG file or pasted markup into PNG, with explicit dimensions, transparency and bundled fonts.
Open tool — SVG to PNGCSS Filter Generator
Order and repeat CSS effects, compare a specimen and copy the exact filter declaration.
Open tool — CSS Filter GeneratorFluid Font Size Calculator
Create root-relative CSS from viewport endpoints and inspect the copied size model.
Open tool — Fluid Font Size CalculatorCSS Button Generator
Style native button states, inspect keyboard focus and copy HTML and CSS.
Open tool — CSS Button GeneratorCSS Border Radius Generator
Edit eight corner radii, preview a box and copy CSS in pixels or percentages.
Open tool — CSS Border Radius GeneratorCSS Grid Generator
Build a bounded CSS Grid example with editable tracks, placement and named areas. Preview it, copy CSS or HTML and download the same standalone example.
Open tool — CSS Grid GeneratorCSS Flexbox Generator
Build a Flexbox example with container and item controls, explicit layout axes, matching CSS and HTML, and a local complete-example download.
Open tool — CSS Flexbox GeneratorCSS Text Shadow Generator
Build ordered text shadows, preview plain text and copy exact CSS.
Open tool — CSS Text Shadow GeneratorCSS Transform Generator
Compose repeatable 2D CSS transforms, edit px or percentage translation and origin, inspect a reference box and copy the exact current declarations.
Open tool — CSS Transform GeneratorCSS Box Shadow Generator
Create ordered CSS box-shadow layers with a live preview and copyable code.
Open tool — CSS Box Shadow GeneratorImage Watermark
Add a text or logo watermark to a batch of images, review each result and download individual files or a ZIP.
Open tool — Image WatermarkCSS Gradient Generator
Create linear or radial CSS gradients with editable colors, opacity and stops.
Open tool — CSS Gradient GeneratorColor Converter
Convert supported sRGB HEX, RGB and HSL literals with alpha, explicit precision and current code Copy.
Open tool — Color ConverterQR Code Reader
Read one QR code from a local PNG or JPEG and inspect its text or content bytes without opening links.
Open tool — QR Code ReaderColor Contrast Checker
Compare foreground and background colors, adjust opacity and check WCAG numerical contrast thresholds for text and essential interface details.
Open tool — Color Contrast CheckerPrint Size & Resolution Calculator
Calculate print dimensions, required pixels and effective PPI with fit or crop.
Open tool — Print Size & Resolution CalculatorAspect Ratio Calculator
Find a width-to-height ratio or calculate a matching pixel size from one target dimension.
Open tool — Aspect Ratio CalculatorImage Compressor
Try to fit a JPEG, PNG or WebP within a target file size, with measured results and optional smaller dimensions.
Open tool — Image CompressorHEIC to JPG
Convert supported HEIC photos locally into full-size JPG copies, with quality and background controls and verified individual or ZIP downloads.
Open tool — HEIC to JPGImage Converter
Convert supported PNG, JPEG and WebP images locally with batch targets, transparency, background and quality controls, then review and download the encoded files.
Open tool — Image ConverterPhoto Collage Maker
Arrange local photos in a grid, adjust crops and spacing, and download PNG or JPEG.
Open tool — Photo Collage MakerRotate & Flip Images
Rotate or mirror a local batch of static PNG, JPEG and WebP images, then review and download the processed results.
Open tool — Rotate & Flip ImagesImage Cropper
Crop one local JPEG, PNG or WebP to exact pixels with visual and numeric controls. Download PNG or JPEG.
Open tool — Image CropperImage Resizer
Resize a JPG, PNG or WebP image by pixels or percentage, preview the result and download it.
Open tool — Image Resizer