UnHEIClocal image lab

Browser-local raster queue

Bulk image converter with verified output

Convert still raster images to JPG, PNG or WebP with one selection-wide decoded-work budget, bounded concurrency, cooperative cancellation, per-file retry, and a checked output contract.

Input: JPEG · PNG · WebP · AVIF · BMPOutput: JPG · PNG · WebPStill images only

Bounded local intake

Add still raster images

Binary signatures and dimensions are checked before files enter the queue. Animated, multi-image, truncated, and structurally ambiguous inputs are rejected.

Accepted signatures: JPEG, PNG, WEBP, AVIF, BMP · up to 30 files within one decoded-work budget · paste with Ctrl/Cmd+V

Verified destination

Output contract

image/jpeg · .jpg
Presets
Output format

Bounded queue

0 files checked

No file bytes are retained yet. Add files above to run signature, dimension, and browser-decode checks.

Metadata outcome

  • Browser-decoded orientation is rendered into output pixels; manual orientation controls are not provided here.
  • EXIF, GPS, capture date, and source metadata are stripped by canvas re-encoding.
  • ICC profiles are not preserved; browser color conversion may change wide-gamut or HDR sources to SDR.
  • Alpha is flattened to the selected background.

Local boundary

Selecting a file gives this tab temporary local access to its bytes. Conversion code runs in the browser and this workflow does not send file bytes, names, content, or precise dimensions to analytics. Ordinary page requests and coarse product events still use the network. Files and object URLs remain until you remove them, clear the workbench, or close the tab.

Raster work is limited to one or two concurrent browser jobs. Some canvas work can still occupy the main thread; cancellation is cooperative and an in-flight browser decode may finish before its result is discarded.

Instructions

From intake to checked download

  1. 01Add still JPEG, PNG, WebP, AVIF or BMP files. Binary signatures, dimensions and browser decode support are checked locally.
  2. 02Choose JPG, PNG or WebP. The selected destination changes quality and transparency controls, encoder, MIME, signature, extension and filename.
  3. 03Start the bounded queue. Each output is signature-checked and decoded independently before its download action appears.
  4. 04Download verified files individually or package multiple completed outputs into a ZIP within the displayed memory reserve.

Limitations

What this queue deliberately excludes

  • Animated and multi-image sources are rejected rather than silently reduced to a browser-selected frame.
  • HEIC and HEIF use the dedicated HEIC workbench, which budgets its decoder and container overhead separately.
  • SVG and ICO are excluded because active-resource and multi-image semantics need different safety and output contracts.
  • AVIF input depends on the browser decoder. A file that passes signature checks can still be rejected if this browser cannot decode it.
  • Canvas output strips source metadata and does not preserve ICC profiles, HDR, or wide-gamut encoding.
  • One or two jobs run concurrently. Some canvas work may occupy the main thread, and an in-flight decoder cannot always stop immediately.

Why the output selector changes the actual file

JPG uses the browser JPEG encoder, a quality value, and a chosen background for transparent pixels. PNG uses a lossless PNG encoder and does not expose a meaningless quality control. WebP uses the browser WebP encoder with quality and alpha support. UnHEIC verifies the MIME type and binary signature from each encoder, confirms the expected extension and filename, then decodes the result and checks its dimensions.

How the browser work budget is calculated

The queue counts compressed input bytes, decoded RGBA pixels, a render canvas, an independent output-decode buffer, estimated output blobs, bounded preview allowance, and a complete ZIP duplicate for multi-file downloads. The cap is lower on devices that report less memory. This is intentionally more conservative than accepting a fixed number of compressed files.

Unsure what a file contains? Use the binary format detector. To audit the local transfer boundary, follow the Network verification guide.