Takeout JSON

Convert HEIC to JPG and Keep the Metadata

How to convert iPhone HEIC photos to JPG in bulk without losing dates, GPS or orientation, by hand or with a tool, on Mac, Windows and Linux.

Your iPhone shoots HEIC. Your TV, your printer's kiosk, your work laptop, your dad's Windows PC and half the websites you use do not open it. Converting is easy. Converting without losing the date and the location is the part people get wrong.

What HEIC is

HEIC is Apple's name for HEIF images compressed with HEVC, the same codec as 4K video. It stores a photo in about half the space of an equivalent JPEG at the same quality. Apple made it the default in 2017. Samsung and some other Android phones can shoot it too.

Support outside Apple is patchy. Windows needs a paid codec from the Microsoft Store for full support. Many Linux image viewers handle it, many do not. Older cameras, TVs, frames and web forms simply reject it. JPEG opens everywhere, which is the whole reason to convert.

What gets lost in a bad conversion

Three things, in order of how often it happens.

The date. Some converters write a fresh JPEG with no EXIF at all. The photo now has only a file date, which is the moment of conversion. Your whole library lands on one day.

The location. Same cause. GPS lives in EXIF. Drop the EXIF, drop the place.

The orientation. HEIC stores rotation as a property of the image. A converter that ignores it produces a sideways JPEG. One that reads it but also copies the EXIF orientation tag produces a JPEG that some viewers rotate twice.

Web converters add a fourth loss: your photos leave your computer. For family pictures with GPS in them, that is a real cost.

"Lossless enough"

HEIC to JPEG is never truly lossless. HEVC and JPEG are different compressions, and the pixels have to be decoded and re-encoded. At JPEG quality 90 or above the difference is invisible on any screen and in any print. The file gets bigger, typically double. That is the trade for compatibility.

Keep the HEIC originals if storage allows. They are the smaller, higher-quality version. Convert copies for the places that need JPEG.

Converting by hand

macOS. Select the photos in Finder, right-click, Quick Actions, Convert Image, choose JPEG. It keeps EXIF, including GPS and date, and handles orientation. Preview's Export does the same for one file. The sips command does it in a terminal:

sips -s format jpeg photo.heic --out photo.jpg

Windows. Install the HEIF Image Extensions and HEVC Video Extensions from the Microsoft Store. Then Photos can open HEIC and "Save as" JPEG, though it is one file at a time. For batches, XnView MP or IrfanView with the plugin pack convert folders and keep EXIF if you tick the option to preserve metadata.

Linux. heif-convert from libheif is in most repositories:

for f in *.heic; do heif-convert -q 92 "$f" "${f%.heic}.jpg"; done

It carries the EXIF across. ImageMagick's magick also reads HEIC where the build includes libheif.

After any conversion, check one file with exiftool photo.jpg and confirm DateTimeOriginal and GPSLatitude are present. If they are not, the tool dropped them. exiftool can copy them from the original:

exiftool -tagsfromfile photo.heic -all:all photo.jpg

Where Takeout fits in

Google Photos keeps HEIC as HEIC. A Takeout export of an iPhone library is full of them, with the date and GPS in .json sidecars rather than in the file. Converting those to JPEG without first reading the sidecars gives you JPEGs with no date twice over. There is a Takeout-specific guide at /blog/heic-to-jpg-from-takeout.

Doing it with the app

Takeout JSON Metadata Fixer converts HEIC to JPG as part of an organizing run, and it writes the date and GPS into the JPEG at the same time, whether they came from the HEIC's own EXIF or from a Takeout sidecar.

Turn on HEIC to JPG. Every HEIC in the folder or export comes out as a JPEG with DateTimeOriginal, GPS and the rest of the metadata carried over. Orientation is handled by rotating the pixels upright and setting the tag to normal, so nothing shows sideways later. Files that are not HEIC pass through untouched.

On Mac the decoding uses Apple's own frameworks. On Windows and Linux the app ships its own HEIC decoder, so you do not need the Microsoft Store codec or any distro package. Everything happens on your machine. Nothing is uploaded.

The conversion combines with the rest: date-first filenames, Year/Month folders, export straight to a USB stick. Free for 500 photos, $9.99 one-time for unlimited, on macOS, Windows and Linux.

Frequently asked questions

Should I delete the HEIC files after converting?

Not if you have the space. HEIC is the better original. Keep them in an archive folder and use the JPEGs for sharing and for devices that need them.

Does converting change the date of the photo?

It should not. A good converter copies EXIF, so DateTimeOriginal is the same in the JPEG. The file's modified date will be the conversion time, which is why the date inside the file is the one that matters. See /blog/exif-date-taken-vs-file-modified.

What about Live Photos?

A Live Photo is a HEIC plus a short MOV. Converting the HEIC to JPEG leaves the MOV as it is. Keep both with the same base name so apps that understand pairs still see them as one. /blog/motion-photos-live-photos-explained covers the options.

Is there a quality setting?

Most tools default to somewhere between 85 and 95. Below 85 you may see artefacts in skies and skin. Above 95 the file grows a lot for no visible gain.