The HEIC Problem: Why Apple's Format Breaks Outside Apple's World
In September 2017, Apple released iOS 11 and quietly changed the default camera format on every iPhone from JPG to HEIC. The reason was straightforward: HEIC stores photos at roughly half the file size of JPG with no visible quality difference. For Apple, this was a storage win. For iPhone users trying to share photos with the rest of the world, it created a compatibility wall that most people don't discover until they're standing at a print kiosk, trying to attach a photo to an email, or wondering why their Windows PC shows a blank icon instead of their vacation photos.
This converter handles that wall. It reads your HEIC files directly in your browser using the heic2any decoding library, converts the image data to JPG at 90% quality, and gives you back a file that opens anywhere. Your original HEIC files stay exactly as they are on your device.
What HEIC Actually Is, and What It Stores
HEIC stands for High Efficiency Image Container. It's a file format built on the HEIF (High Efficiency Image Format) standard developed by the MPEG group, and it uses HEVC (H.265) compression, the same technology used to compress 4K video. That's why it's so efficient: it's applying video compression technology to still images.
HEIC is also more than just a photo format. An iPhone's HEIC file can contain the still image, the Live Photo motion clip, Portrait mode depth map data, HDR tone mapping information, and multi-frame burst data all inside one container. This is technically impressive, but it also means that when you convert to JPG, you're extracting just the primary still image. The depth map and motion component have nowhere to go.
HEIC Technical Specs:
- Compression: HEVC-based, roughly 50% smaller than JPG at comparable visual quality
- Color depth: 16-bit, which is significantly richer than JPG's 8-bit per channel
- Transparency: Supported, with full alpha channel
- Special data: Can store Live Photo motion, Portrait depth maps, HDR, and burst sequences
- Browser support: Safari on Apple devices only; Chrome, Firefox, and Edge cannot display HEIC
- OS support: macOS High Sierra+, iOS 11+, Windows only with paid codec
Why JPG Is Still the Right Choice for Sharing
JPG is a less efficient format than HEIC in pure technical terms. It uses older DCT compression, produces larger files, and maxes out at 8-bit color depth per channel. None of that matters the moment you need to send a photo to your sister on Android, upload it to a print kiosk, or attach it to an email going to a client on Windows.
JPG has been the universal standard for digital photography since 1992. Every piece of hardware and software that handles images was built with JPG support. It will continue to work on devices and platforms that don't yet exist. When compatibility matters more than storage efficiency, JPG is the correct choice.
JPG Technical Specs:
- Compression: DCT-based lossy, quality adjustable from 1–100%
- Color depth: 24-bit (8 bits per channel, 16.7 million colors)
- Transparency: Not supported
- OS support: Every operating system without exception, no codec required
- Browser support: All browsers, all versions, since the mid-1990s
- Print lab support: Accepted at every photo printing service worldwide
Where HEIC Files Break and Why
These are the specific situations where HEIC creates problems, and what's actually happening in each case:
- Transferred photos to a Windows PC and the files show as blank icons: Windows cannot decode HEIC without the HEVC Video Extensions codec. This isn't installed by default. You either pay $0.99 in the Microsoft Store or rely on a Windows Update that may or may not have installed it. Converting to JPG bypasses this entirely.
- Sent photos via text or email to someone on Android: Android has no native HEIC support. The recipient sees a file their gallery app cannot open, or the messaging app displays a broken image. Google Photos can sometimes view HEIC files, but it's inconsistent across versions.
- Tried to upload to a website or CMS and got a format error: Most web platforms accept JPG, PNG, and sometimes WebP, but HEIC is not on that list for the majority of platforms built before 2023. Squarespace, older WordPress themes, and most e-commerce upload forms will reject it.
- Downloaded your iCloud photos on a PC and all files are .heic: When you access iCloud.com on Windows and download photos, they arrive as HEIC. Apple does offer an option to download as JPG in iCloud settings, but it requires going into account settings and isn't obvious. Batch converting what you've already downloaded is often faster.
- AirDropped a photo to a Mac, then tried to email it to a Windows colleague: The Mac receives it as HEIC and forwards it as HEIC. Your Windows colleague cannot open it. Converting to JPG before sending fixes this.
- Tried to open in Photoshop or Lightroom and got an unsupported format error: Photoshop added HEIC support starting in CC 2018, but only on macOS, not Windows. Lightroom Classic added HEIC support in version 9.0. Anything older gets an error.
How the HEIC Conversion Works in Your Browser
HEIC decoding is more complex than converting between JPG and WebP. HEVC compression, the algorithm inside HEIC, was designed for video and requires a dedicated decoder. Browsers don't have one built in for HEIC the way they do for WebP. This converter uses a JavaScript library called heic2any, which implements an HEVC decoder in pure JavaScript and runs it directly in your browser. Here's the step-by-step process:
- File selection: You select your .heic or .heif files. They load into browser memory only, with no network transfer.
- HEVC decoding via heic2any: The library reads the HEIC container, locates the primary image, and decodes the HEVC-compressed pixel data into raw image information.
- Canvas rendering: The decoded pixels are drawn onto an HTML5 Canvas element in your browser.
- JPG encoding: The Canvas exports the image as JPG at 90% quality, which is the standard delivery quality used by professional photographers and print services.
- Download: The JPG is made available as a download. Your original HEIC file is untouched.
Because HEIC decoding involves more computational work than simpler format conversions, processing time is typically 2–5 seconds per image depending on the resolution and your device's CPU. iPhone 15 Pro Max photos at 48MP will take longer than standard 12MP shots.
Quality Settings and What to Expect From Your Converted Files
This converter outputs JPG at 90% quality. This is a deliberate choice: HEIC files from iPhone cameras are themselves high-quality source files, and 90% JPG preserves that quality for every practical use including professional printing.
What to expect by phone model:
- iPhone 11 through 13 series (12MP main sensor): Original HEIC around 2–4MB converts to JPG roughly 3–5MB
- iPhone 14 series (12MP main, 48MP ProRes on Pro): Standard HEIC 3–5MB converts to JPG roughly 4–7MB
- iPhone 15 and 15 Pro (48MP main sensor): HEIC files at 5–10MB convert to JPG roughly 8–15MB at 90% quality
- Portrait mode photos: Slightly larger due to the depth map data embedded in the HEIC; the JPG output is the same size as a standard shot since depth data is not carried over
The resulting JPG files are suitable for printing up to 20x30 inches at 300 DPI, social media at full resolution, email attachments, and professional client delivery. If you need smaller files for web use, you can run them through a compression tool after converting.
Common HEIC Conversion Problems and What's Causing Them
The converter is stuck processing and nothing downloads
This is almost always a memory issue on older or low-memory devices. HEIC decoding loads the entire image into RAM before it can re-encode it. A 48MP photo from an iPhone 15 Pro can require 500MB+ of working memory during processing. If your device is near its RAM limit, the process stalls. Solution: close all other browser tabs and apps, then try again. If you're converting large batches, process 5–10 files at a time rather than all at once.
The converted JPG is rotated incorrectly, the image is sideways or upside down
iPhone cameras embed orientation data as EXIF metadata. The HEIC file stores the photo in the sensor's native orientation, with a tag telling software to rotate it for display. When converting to JPG, some converters lose this rotation tag. If this happens, the EXIF orientation information was stripped during encoding. You can fix this in any photo editor by rotating and re-saving, or by using an EXIF editor to correct the orientation tag without re-encoding the image.
The file says .heic but the converter says it's not a valid HEIC file
Some files get the .heic extension incorrectly. This can happen when a file is renamed, when it comes from a third-party camera app, or when a screenshot is mislabeled. Open the file in Safari on a Mac or iPhone; if it displays there, it's valid HEIC and should convert. If Safari also fails, the file data itself may be corrupted or in a non-standard HEIC variant. Try downloading the original photo again from your source.
My Live Photos converted but the motion is gone
This is expected and unavoidable. JPG is a still image format. It has no mechanism for storing video or motion data. The Live Photo motion component (a 3-second MOV video clip) cannot be carried over to JPG. You receive the primary still frame at full resolution. If you need to preserve the Live Photo motion, keep the original HEIC file on your iPhone or export the motion component as a separate video file using the iOS Photos app before converting.
Converting Large Numbers of iPhone Photos
Select multiple files at once using Shift+click for a range or Ctrl/Cmd+click for individual selections. The converter processes them one by one and shows progress for each. When all are done, download them individually or as a single ZIP.
A practical note on batch size: converting 10–20 files at once works smoothly on most devices. Converting 100+ files in a single batch is possible but can slow down significantly on older devices due to the memory demands of HEIC decoding. For very large libraries (hundreds or thousands of photos), processing in batches of 20–30 is more reliable than selecting everything at once.
If you regularly need to convert your entire iPhone photo library, you may also want to consider the permanent fix: Settings, then Camera, then Formats, then "Most Compatible" on your iPhone. This changes all future photos to JPG without affecting your existing HEIC library.
Your iPhone Photos Stay on Your Device
iPhone photos contain more personal data than almost any other file type. They carry GPS coordinates of where you were, timestamps of when you were there, and in some cases biometric information if they contain images of people. Uploading these files to a random web service for conversion is a real privacy consideration that most people don't think about until they've already done it.
This converter uses no server. The heic2any decoding library runs inside your browser, the HTML5 Canvas API re-encodes the output as JPG, and the file is handed back to you as a download. At no point is any data transmitted. The page has no upload endpoint because it doesn't need one.
- No uploads: Your HEIC files never leave your device or touch any server
- No GPS data transmitted: Location metadata in your iPhone photos stays local throughout the process
- No storage: We cannot store your photos because we never receive them
- No accounts: No email, no sign-up, no personal information of any kind
- Works offline: After the page loads, disconnect from the internet and conversion still works
- GDPR and CCPA compliant: Zero data collection means zero data liability
Technical Specifications
Converter Capabilities:
- Supported input formats: .heic and .heif (both use the same HEIF container)
- Output format: JPG at 90% quality
- File size limit: None imposed by the tool; limited only by your device's available RAM
- Batch processing: Unlimited files; recommended 20–30 at a time for large libraries
- Processing speed: 2–5 seconds per photo on a modern device; longer for 48MP files
- Supported browsers: Chrome 80+, Firefox 75+, Safari 13+, Edge 80+
- Mobile support: iPhone Safari, Android Chrome, all modern mobile browsers
- Decoding library: heic2any (open source JavaScript HEVC decoder)
Why No-Upload Conversion Is Different: What Actually Happens in Your Browser
Most converter tools describe themselves as "secure" or "private" without explaining the mechanics. Here is exactly what happens when this converter runs, why it differs from server-side tools, and what is specific to HEIC files that makes the distinction matter more than it does for most other formats.
What the browser does with your file, step by step
When you select a HEIC file, the browser gives JavaScript a File object. This is not the file itself; it is a sandboxed reference that the browser controls. JavaScript cannot see the file's path on your system, cannot browse adjacent files, and cannot retain the reference after the page closes. The browser passes this reference to the heic2any library, which reads the file's bytes into an ArrayBuffer in browser memory. The HEVC-compressed pixel data is decoded in the JavaScript runtime using a software codec implementation built into heic2any. No operating system codec, no external process, no network request. The decoded pixel values are drawn onto an HTML5 Canvas element, which exists entirely in your device's RAM. The Canvas then calls toBlob('image/jpeg', null, 0.9), which re-encodes the raw pixel data as JPEG using the browser's built-in JPEG encoder. The resulting Blob is passed to URL.createObjectURL(), which creates a temporary in-memory URL your browser can trigger as a download. When you close the tab, the browser releases all of this from memory. Nothing was written to disk except the file you explicitly downloaded.
What an HEIC file actually contains beyond the photo
This is where HEIC is meaningfully different from most other image formats. An iPhone HEIC file is a container in the ISOBMFF (ISO Base Media File Format) structure, the same container format used by MP4 video. Inside that container, alongside the compressed image data, an iPhone typically stores: GPS latitude and longitude coordinates accurate to within a few meters, the altitude at the time of capture, the timestamp down to the second, device make and model, the iOS version running at capture time, camera lens information and focal length, exposure settings, and in some cases the depth map from Portrait mode and the motion clip from Live Photos. All of this is stored as EXIF and XMP metadata embedded in the file container.
When you upload an HEIC file to a server-side converter, every piece of this metadata travels with the image. The server receives not just a photo but a timestamped, GPS-tagged record of where you were and what device you used. When this converter runs locally, the Canvas API never reads metadata. It receives only the decoded pixel values from heic2any and re-encodes them as JPEG pixels. The output JPG contains no GPS coordinates, no timestamps, no device information. The EXIF metadata is stripped entirely as a consequence of the pixel-only pipeline the Canvas API uses.
Worth knowing: EXIF stripping is a privacy benefit for most people converting photos to share or send. If you are a professional photographer who needs GPS and timestamp data preserved in the output JPG for geotagging or archival workflows, this converter is not the right tool for that use case. A desktop application like Adobe Lightroom or ExifTool can perform HEIC to JPG conversion with full EXIF preservation. This converter's pipeline strips metadata as a side effect of using the Canvas API, not by design choice.
What server-side converters actually do
Server-side HEIC converters typically work like this: your file is sent via an HTTPS POST request to their endpoint and written to a temporary directory on their server, usually on cloud storage like S3 or a similar object store. A backend process, commonly using libheif or FFmpeg with HEVC decoding, decodes the HEIC data and pipes the result to ImageMagick, libvips, or Sharp for JPEG re-encoding. The output file is placed on the server and you receive a download link or redirect. The original file sits in temporary storage until their cleanup job runs, which on many services is anywhere from a few minutes to 24 hours. Some services log file metadata for analytics. Some use aggregated conversion data to train or improve their tools. Their privacy policy, if it exists, governs what happens next. You cannot verify any of it from your end.
You can verify what this converter does by opening your browser's developer tools, going to the Network tab, and selecting a HEIC file. Watch the network requests. You will see requests for the page's static assets and nothing else. No outbound POST request carrying your image data will appear, because none is made. The conversion data never leaves the browser process.
Frequently Asked Questions
Why did Apple switch to HEIC instead of keeping JPG?
Storage. A 12MP iPhone photo in HEIC is typically 2–3MB. The same shot in JPG is 4–6MB. On an iPhone with 64GB of storage, that difference adds up to thousands of additional photos. Apple also gets better quality at smaller sizes, since HEIC's HEVC compression is significantly more advanced than JPG's DCT compression from 1992. The trade-off is that the format doesn't work outside Apple's ecosystem without extra steps, which is the problem this converter solves.
Does converting HEIC to JPG reduce quality noticeably?
At 90% JPG quality, the visual difference is not detectable in normal use. You would need to zoom to 300%+ and compare the original and converted files side by side on a calibrated display to see any difference. For printing, emailing, posting on social media, and everyday editing, 90% JPG from an iPhone HEIC is indistinguishable from the original. The one exception is color depth: HEIC supports 16-bit color versus JPG's 8-bit per channel. In practice, this difference is invisible on most screens.
Can I stop my iPhone from taking HEIC photos going forward?
Yes. Go to Settings, then Camera, then Formats. You'll see two options: "High Efficiency" (HEIC) and "Most Compatible" (JPG). Switching to Most Compatible makes all future photos save as JPG. The trade-off is that each photo will be roughly twice the file size, so your storage fills faster. Many people prefer to keep HEIC for storage efficiency and convert specific photos when they need to share them outside the Apple ecosystem.
I downloaded my iCloud photos on a PC and they're all .heic. Is there a faster way than uploading here one by one?
You can batch convert here by selecting all your HEIC files at once in the file picker. Hold Ctrl and press A to select all files in a folder, then drag them all onto the upload area. They'll queue and process one after another. Alternatively, in your iCloud account settings online, under Photos, there's an option to download originals as JPG instead of HEIC, which is worth enabling before your next bulk download.
Is there a limit to how many HEIC files I can convert?
No limit from our side. You can convert as many files as your device's memory allows. For practical batch processing, 20–30 files at a time works smoothly on most devices. On older phones or computers with less RAM, keep batches smaller to avoid slowdowns. There are no daily limits, no account required, and no premium tier that unlocks more conversions.
Can I use the converted JPG files for professional or commercial purposes?
Converting a file changes its format, not its copyright status. If the original iPhone photos are yours to use commercially, the converted JPGs are too. We add no watermarks, claim no rights, and place no restrictions on the output files. They're standard JPGs that belong entirely to you.
Related iPhone Photo Converters
Looking to convert HEIC files to other formats or work with different image types? Check out our complete collection of free online image converters:
All our converters use the same privacy-focused, browser-based technology to keep your images secure while delivering professional-quality results. Visit our complete converter directory to see all 25+ available format combinations.