Takeout JSON

Convert HEIC to JPG From Google Takeout Without Losing Dates

Why a Google Takeout export is full of HEIC files, how to convert them to JPG while keeping the date and GPS, and the odd HEIC that is really a JPEG.

Half the photos in your Takeout end in .HEIC. Windows shows a blank icon, your TV ignores them, and the converter you tried produced JPGs with no date and no location. Now you have two copies of everything and neither is right.

HEIC is not a problem by itself. Converting it carelessly is.

Why Takeout is full of HEIC

iPhones have shot HEIC by default since 2017. Google Photos stores what the phone uploads, and Takeout hands it back unchanged. If your library came from an iPhone, most photos since then are HEIC. Android phones mostly shoot JPG, though some Samsung models offer HEIF too.

HEIC files are about half the size of a JPG at the same quality. That is why Apple uses them. The downside is compatibility. Windows 10 and 11 need a codec from the Microsoft Store to display them. Older software, most smart TVs, many web uploaders and some NAS photo apps do not read them at all. Linux desktops need libheif installed.

If your photos are going to Apple Photos, Immich, PhotoPrism or a recent Android phone, leave them as HEIC. All of those read the format, and converting only loses a little quality and doubles the space. Convert when the destination cannot read them, or when you want one format for everything.

What a careless conversion loses

Most converters decode the image and re-encode it as JPEG. Many of them write a fresh JPEG with no metadata at all. The EXIF block with the date, camera model and GPS is dropped. Your converted photos then show the conversion date, which is the same problem Takeout caused, now with a second set of files.

The date and GPS inside a HEIC live in the same kind of EXIF block a JPEG uses. A good converter copies it across. Check the result before deleting anything: right-click a converted JPG, look at Properties or Get Info, and confirm "Date taken" and the camera model are there.

Do the Takeout metadata merge before converting, not after. Once the date from the .json sidecar is inside the HEIC, a metadata-preserving conversion carries it into the JPG. If you convert first, the sidecar names no longer match the new files and the merge has to be done differently.

Converting by hand

On a Mac, select the files in Finder, right-click, and choose Quick Actions, then Convert Image. Pick JPEG and full size. Or in a terminal:

for f in *.HEIC; do sips -s format jpeg "$f" --out "${f%.*}.jpg"; done

sips keeps EXIF, including the date and GPS.

On Windows, the Photos app can save a HEIC as JPG one at a time once the HEIF codec is installed. For a batch, ImageMagick is free: magick mogrify -format jpg *.HEIC. It preserves EXIF by default.

On Linux, heif-convert from the libheif-examples package does the job: for f in *.HEIC; do heif-convert "$f" "${f%.*}.jpg"; done. It copies EXIF across.

If a converter did strip metadata, exiftool can copy it back from the HEIC:

exiftool -tagsfromfile %d%f.HEIC -all:all -overwrite_original -ext jpg .

Run that in a folder where the HEIC and JPG pairs sit side by side.

The HEIC that is really a JPEG

Occasionally a file in a Takeout export has a .HEIC name but contains JPEG data. It happens when a photo was converted somewhere along the way and kept its old name, and some viewers refuse to open it because the extension and contents disagree. On a Mac or Linux, file IMG_1234.HEIC tells you what is actually inside. If it says JPEG, rename it to .jpg and it works everywhere. The reverse also exists, JPEGs that are HEIC inside, though it is rarer.

A converter that trusts the extension will fail on these or produce a broken file. A converter that looks at the contents handles them.

Converting with the app

Takeout JSON Metadata Fixer converts HEIC to JPG as one option in the same run that fixes the dates, on macOS, Windows and Linux.

It first merges the sidecar date and GPS into each photo, then decodes the HEIC and writes a JPG with the metadata carried over. It reads the file contents rather than the extension, so a JPEG hiding behind a .HEIC name comes out as a normal JPG with its metadata intact. Sideways photos are straightened at the same time, since orientation data is one of the things a bad conversion drops. Leave the option off and HEIC files pass through unchanged.

The JPGs are re-encoded at high quality, so they are bigger than the HEIC originals. Keep the originals if space allows. The first 500 photos are free.

If your only goal is conversion and your dates are already correct, the free tools above are enough. The app earns its place when you need conversion, date fixing and organizing in one pass. For general conversion advice outside Takeout, see converting HEIC to JPG and keeping metadata.

Frequently asked questions

Does converting to JPG lose quality?

A little. JPEG is a lossy re-encode of a lossy source. At high quality the difference is invisible on screen. For archival purposes keep the HEIC and use the JPGs for sharing.

Can I convert Live Photos?

The still half of a Live Photo converts like any HEIC. The clip is a separate MP4 and stays as it is. Apple Photos pairs a JPG and an MP4 with the same name just as it pairs a HEIC and an MP4.

Why does Windows show HEIC as a blank icon?

It needs the "HEIF Image Extensions" from the Microsoft Store, and sometimes the paid "HEVC Video Extensions" as well. Installing them lets Explorer and Photos display HEIC. Other Windows programs may still not.

Will the converted JPG keep the GPS?

Yes, if the converter copies EXIF. The GPS tags are part of the same block as the date. Check one file after converting.