A website accepting JPEG may not accept the HEIC photo from your phone. Changing .heic to .jpg does not re-encode the image. The HEIC converter decodes a supported still image on your device, then generates a JPEG or PNG you can preview and download.
1. Keep the original and identify the task
Record the destination's accepted format, dimensions and size limit. JPEG conversion is different from meeting a byte limit. After conversion, the target-size compressor can attempt a smaller supported output; neither tool guarantees a portal will accept the content.
Keep the original HEIC/HEIF. It may contain additional images, metadata, color information or related camera features that the converted still image does not retain.
2. Choose JPEG or PNG deliberately
JPEG is lossy and does not support an alpha channel. This tool paints white behind transparency before JPEG encoding. PNG can retain decoded transparency but may be much larger. The JPEG quality slider is an encoder setting, not an accuracy score or a guarantee of visually lossless output.
The decoder runs in a worker and downloads from this site on demand. Selected file contents are not sent to a conversion server. Engine/script GETs and shared page analytics are separate ordinary requests; see the privacy policy.
3. Inspect which image was exported
HEIF is a container, not a promise of a single photograph or a particular codec. This tool exports a primary top-level still image when identified, otherwise a first-image fallback. The result reports the number of top-level images it found and the selection used. It does not export a complete collection, depth data, alternate exposures or Live Photo video.
Unsupported codecs or damaged files are reported individually. There is no automatic upload-to-server fallback.
4. Check orientation, color and readability
Open the local preview at a useful size. Check that the intended image is upright, complete and recognizable. The decoder can apply supported container transformations; the rotation selector adds an explicit clockwise quarter-turn. Do not add a second rotation merely because the source had an orientation tag.
Color and brightness may change when an HDR/wide-gamut source is rendered to ordinary image output. A successful decode does not prove faithful HDR, profile or metadata preservation. Inspect any important text or fine detail after width reduction.
5. Save and reopen the actual result
Download a result and open it in an independent viewer. Check dimensions, actual file type and bytes rather than trusting its extension alone. A link being created does not prove a browser saved the file to disk.
For multiple successful results, use Download results as ZIP. Archive names are made unique, including case-insensitive collisions, so two inputs with the same basename do not silently replace each other. ZIP packaging uses stored entries; it does not promise further compression of already-encoded photos.
6. Cancel and clear with the right expectations
Cancel terminates the decoding worker. ZIP cancellation is checked between memory reads and progress callbacks. Already-completed results can remain available. Clear removes selected files, previews and result URLs from this tool, but cannot erase downloads already saved to your device.
The limits shown on the tool are upper bounds, not a guarantee that every device can process an image at that size. Use smaller batches if memory is constrained.
Decoder reference
The implementation uses a pinned libheif-js bundle, with decoder license/source information distributed alongside the self-hosted asset. Recognition of a particular fixture is not a benchmark of every iPhone, HEIF codec or metadata variant. The release QA record distinguishes local decoder tests from actual Neo/browser observations.