Back to Blog
Guide7 min read

iPhone HEIC Won't Upload: Convert to JPG Before Instagram, Email, or Windows

Why iPhone saves HEIC, where it still breaks, JPG vs PNG after conversion, batch in the browser, and what to do if Instagram still crops.

Most “Instagram won't take my iPhone photo” tickets I see are not about resolution. The file is HEIC— Apple's default since iOS 11. Inside Apple's world it looks fine. Drop the same file into an older Windows laptop, a client email thread, or a half-updated web uploader, and it fails silently or downloads as an unopenable attachment.

This guide is the short path I give people: convert HEIC to JPG (or PNG) before the upload, keep the conversion private, batch when you have a folder of product shots, then fix cropping separately if the platform still slices the frame.

Why the phone saves HEIC

HEIC (High Efficiency Image Container) uses HEVC compression. On disk it is often roughly half the size of a similar-looking JPEG, which is why Apple made it the default. The tradeoff is compatibility. JPG is the boring format every CMS, print shop, and social uploader still expects.

You can force the iPhone to capture JPEG in Settings → Camera → Formats → Most Compatible. That helps going forward. It does not rewrite the hundreds of HEIC files already in Photos.

Where HEIC still breaks

  • Windows PCs without HEIF extensions installed
  • Many email clients and corporate file gateways
  • Older design tools and some e-commerce dashboards
  • Desktop share sheets that re-wrap the file without converting

Instagram on a current iPhone usually accepts HEIC from the camera roll. The failure mode I see more often: AirDrop / email a HEIC to a teammate on Windows, they convert with a random online tool that watermarks or uploads the shoot to a server you do not control, then the JPG that comes back is soft or the wrong color profile. Convert once, locally, then share that JPG.

JPG vs PNG after HEIC

  • JPG — default for photos headed to Instagram, Xiaohongshu, or email. Smaller files. This is another lossy encode on top of HEIC; use a high quality setting and do not bounce JPG→JPG five more times.
  • PNG — screenshots, UI captures, graphics with hard edges or transparency. Heavier files. Does not “restore” detail HEIC already discarded; it just avoids piling on JPEG artifacts before you edit further.

If you only need the file to open everywhere for a feed post, pick JPG. If you are about to pad with flat brand colors (no-crop guide), PNG for that padded export is often cleaner — convert HEIC → working bitmap first, then pad.

Batch without uploading

Product drops and trip folders are almost never one file. A converter that forces one-at-a-time clicks will lose an afternoon. 9grid's format converter runs in the browser: drop a stack of HEIC/WebP/PNG/JPG, set a global target (usually JPG), convert, then download. Nothing is sent to a server for processing — useful when the shoot is unpublished or client-owned.

Converted, but Instagram still crops

Format and framing are different problems. A perfect JPG that is still 16:9 will get cropped on a 4:5 feed. After conversion, pad to the ratio you need with the No-Crop fitter, or check the size cheat sheet before you upload. Soft sources stay soft — conversion does not sharpen a blurry capture.

Pre-flight checklist

  • Confirm the file really is HEIC (extension or “HEIF” in Get Info).
  • Pick JPG for photos, PNG for screenshots/graphics.
  • Convert once; avoid re-saving the JPG repeatedly.
  • Batch the folder if there are more than a few files.
  • If the feed still crops edges, pad to 4:5 / 1:1 / 9:16 after conversion.

Convert HEIC in the browser

Batch HEIC → JPG (or PNG / WebP). Local only — nothing leaves your device.

Open Format Converter →

You Might Also Like