Verify a converted photo before relying on it

Implementation reviewed October 2, 2026. This is a reproducible checking procedure, not a claim of universal browser certification.

A successful download proves that the converter produced a file. It does not prove that a receiving portal accepts it, that colours match the original, or that camera metadata survived. Keep the source until the complete receiving workflow works.

What this implementation actually does

HEIC/HEIF images are decoded with libheif-js into browser canvas pixels; this tool uses the first decoded frame. It then encodes JPG, PNG or WebP through the browser. PDF output packages prepared image copies. Live Photo motion, auxiliary depth information, an editable original and searchable document text are not preserved by this workflow.

JPG and WebP use a requested quality setting of 0.92; this is an encoder hint, not a 92% image-quality score. PNG avoids an additional lossy pixel-compression step, but does not recreate detail or metadata that is absent from the rendered canvas. If a browser cannot produce a requested MIME type, verify the report and the downloaded file before using it.

Make your own measured comparison

  1. Choose a non-sensitive photo containing fine detail and text. Note the browser/version, device and original byte size.
  2. Convert one copy to JPG, clear the queue and repeat with PNG or WebP. Keep the input identical.
  3. Compare the output MIME, pixel dimensions, byte count and measured milliseconds shown below each preview. Save the local conversion report for each run.
  4. Open the actual downloads at 100% zoom. Inspect lettering, faces, gradients, orientation and any colour shifts.
  5. Upload a copy to the intended receiving system and confirm it displays correctly. A smaller file is not automatically a better result.

The report omits filenames and contains image numbers and numeric measurements. Measurements stay local unless you decide to share the downloaded report. Per-image timing includes decode and export; it excludes waiting in the queue, ZIP compression, PDF assembly and download time. First runs can include decoder startup. Device heat, available memory and background tabs affect comparisons.

Metadata: assume it needs separate verification

This canvas export path does not copy the original EXIF or GPS fields. Do not rely on it to retain capture date, camera settings or location, and do not treat conversion as a certified metadata-removal service. A browser or receiving application may introduce its own fields. Inspect the downloaded copy with a metadata viewer, and preserve the original separately when provenance matters.

Windows and Android troubleshooting

If HEIC fails but a small JPG works, test a fully downloaded original HEIC rather than a cloud thumbnail or partial transfer. If a single HEIC works but a batch fails, reduce the batch and close unnecessary tabs. A memory error is not solved by renaming .heic to .jpg. For an unsupported HEIC variation, export a compatible copy from the source device and keep the original.

Apple documents how HEIF support and transfer behaviour vary in its official media compatibility guide. A Windows codec may help a local viewer but cannot make a website accept a prohibited upload format. On Android, test the receiving application as well as the browser preview.

Convert a compatibility copy · Metadata guidance · Report a reproducible problem