HEIC to JPG Converter
Convert HEVC-based HEIC/HEIF still images to JPEG in your browser, with quality, resize and ZIP controls. Keep originals: JPEG is lossy and metadata is not copied.
About this heic to jpg converter
Convert HEVC-based HEIC/HEIF still images to JPEG locally, with quality, resize and ZIP controls. Keep originals: JPEG is lossy and metadata is not copied.
How this tool works
The browser runs libheif and libde265 through WebAssembly in a separate worker for each photo. It reads the dimensions of the first still image in an HEVC-based HEIC/HEIF file and rejects images above 48 million pixels before decoding pixels. A browser canvas optionally resizes the image and creates a new JPEG. Quality has 31 integer settings from 70% through 100%, with 92% as the default. Even 100% is lossy; keep the original file.
- Download the example HEIC or choose your own .heic/.heif files. Review the queue and any skipped-file notice.
- Choose JPEG quality and a maximum dimension. Changing either setting clears earlier converted results; convert again to apply the new setting.
- Press Convert to JPG. Stop after current lets the current photo finish; Convert remaining resumes the unfinished queue.
- Review every result, then download individual JPG files or a ZIP when available. Clear all removes the current queue and previews.
Worked example
Scenario: Convert the supplied red HEIC fixture into an 800 × 400 JPEG without claiming a browser-independent byte size.
Sample input:
Processing: Select the 5000 × 2500 fixture, set quality to 80% and maximum edge to 800 px, then convert and download the JPG. Independent image decoding verifies the 800 × 400 output dimensions.
Illustrative output:
Limits and verification
Choose original dimensions or a maximum edge of 4096, 2048, 1920, 1280 or 800 pixels. Resizing preserves aspect ratio, rounds each dimension to a whole pixel and never enlarges the source. Each file may be at most 75 MiB; a batch may contain at most 40 files and 500 MiB of source data. After parsing the container, the tool checks the 48-million-pixel limit before pixel decoding and RGBA allocation. Parsing and processing still require memory, so these limits cannot guarantee sufficient memory on every device. Each photo uses a new worker, with a 10-second startup limit and a 30-second decoding limit. A ZIP is available for at least two completed files when their combined JPEG size is at most 250 MiB. One MiB is 1,048,576 bytes. AVIF and non-HEVC HEIF codecs are not accepted. Camera, date, GPS, EXIF, XMP, motion video, additional images, alpha and depth data are not copied; transparent pixels are composited on white. JPEG does not preserve the source HDR fidelity. Exact JPEG bytes, sizes and processing times depend on the browser. Keep your original files.
Examples demonstrate an expected workflow; they do not prove every input or every branch of an external specification. Check important results with an independent source before using them for money, security, compliance, safety, or irreversible file changes.
Browser processing boundary
Tool input is processed by code running in the browser and is not intentionally sent to a CZOA processing API. The page can still request ordinary site assets, analytics, or advertising when those services are enabled. Browser extensions and managed-device software remain outside this tool's control.
Relevant references
These references govern or help explain the format, protocol, or calculation used here. Listing a reference does not claim certification or complete implementation of every optional feature.
- ISO/IEC 23008-12: HEIF image container; this tool accepts compatible HEVC still images only.
- ISO/IEC 10918-1: JPEG image coding; browser canvas encoding creates a lossy compatibility copy.
Content owner: CZOA Tools · Review methodology
How to use it
- Download the example HEIC or choose your own .heic/.heif files. Review the queue and any skipped-file notice.
- Choose JPEG quality and a maximum dimension. Changing either setting clears earlier converted results; convert again to apply the new setting.
- Press Convert to JPG. Stop after current lets the current photo finish; Convert remaining resumes the unfinished queue.
- Review every result, then download individual JPG files or a ZIP when available. Clear all removes the current queue and previews.
Frequently asked questions
Which HEIC data survives the JPEG conversion?+
Only the first decoded HEVC still image is used. The tool draws it on an opaque white canvas and creates a new lossy JPEG. It does not copy camera or GPS metadata, capture dates, EXIF/XMP blocks, Live Photo video, additional images or depth maps. Alpha is flattened onto white, and JPEG is not an HDR archive. A 100% quality setting is still lossy.
Which quality and dimension settings can I choose?+
The slider allows every integer from 70 to 100, initially 92. The six dimension choices are original, 4096, 2048, 1920, 1280 and 800 pixels on the longest edge. Smaller limits preserve aspect ratio; dimensions are rounded to whole pixels and the image is never enlarged. Changing a setting invalidates prior results, so you must convert again.
What are the file, batch and memory limits?+
Empty files and other extensions are rejected. A .heic/.heif extension alone is insufficient: the tool checks for a compatible HEVC image signature and the decoder must accept the contents. The per-file limit is 75 MiB; the batch limit is 40 files and 500 MiB. After parsing the container, dimensions above 48 million pixels are rejected before pixel decoding and RGBA allocation. Parsing and processing still need memory; these limits do not guarantee success. A damaged or unsupported profile can fail below the limits. Each photo has a 10-second worker startup limit and a 30-second decoding limit.
How do duplicates, stopping and ZIP downloads work?+
Files with the same case-insensitive name, byte size and last-modified timestamp are treated as duplicates, including repeats within one selection. Different files that would have the same JPG name receive numeric suffixes. Stop after current finishes the active conversion and leaves remaining entries stopped; Convert remaining resumes them. Individual JPG downloads stay available. ZIP creation requires at least two completed JPGs totaling no more than 250 MiB; a failed ZIP can be replaced by individual downloads.
