JPEG has been the default photo format since 1992. Your iPhone switched to HEIC in 2017. This converter bridges the 25-year gap so your photos open everywhere that matters.
or drag and drop your image here
Supports JPG, JPEG, PNG, WEBP, SVG, GIF, HEIC, HEIF, BMP, TIFF, HDR, JP2, RAF, PSD, CR3, DNG, APNG, AVIF, AVI, ESP, EXR, J2C, J2K, JXL, PFM, PNM, PPM, PSB, SGI, MPEG, PDF
Pull HEIC files from AirDrop, iCloud Photos download, Image Capture, or direct USB import. Drag them into the converter window.
A WebAssembly HEVC decoder unpacks each HEIC to raw pixels. Those pixels go through a JPEG encoder at quality 90 — visually identical, widely readable.
Each output keeps the original filename with .jpeg extension. EXIF capture details are inherited so photo order, GPS, and camera info stay intact.
Convert images between these related converters
Convert iPhone HEIC photos for universal compatibility
Share iOS photos across all platforms and devices
Decode HEVC-based compression to standard formats
excellent for photos with advanced JPEG encoding
Perfect for photography, web images, social media
Handles efficient compression, modern format, HDR support from HEIC files
your photos decompress inside the browser sandbox — nothing uploads
convert an entire vacation album in one pass
Trade 50% smaller files for 100% device support
Apple High efficiency Image Format
HEIC requires the libheif delegate library.
Joint Photographic Experts Group JFIF format
Note, JPEG is a lossy compression. In addition, you cannot create black and white images with JPEG nor can you save transparency. Requires jpegsrc.v8c.tar.gz. You can set quality scaling for luminance and chrominance separately (e.g. -quality 90,70). You can optionally define the DCT method, for example to specify the float method, use -define jpeg:dct-method=float. By default we compute optimal Huffman coding tables. Specify -define jpeg:optimize-coding=false to use the default Huffman tables. Two other options include -define jpeg:block-smoothing and -define jpeg:fancy-upsampling. Set the sampling factor with -define jpeg:sampling-factor. You can size the image with jpeg:size, for example -define jpeg:size=128x128. To restrict the maximum file size, use jpeg:extent, for example -define jpeg:extent=400KB. To define one or more custom quantization tables, use -define jpeg:q-table=filename. These values are multiplied by -quality argument divided by 100.0. To avoid reading a particular associated image profile, use -define profile:skip=name (e.g. profile:skip=ICC).
What changes, what stays, and where HEIC fails without conversion.