FixMyTakeout

Put the real dates back on your Google Photos export

Google Takeout keeps each photo's date, location and caption in a separate JSON file, and most photo apps only read what is inside the photo. Drop the zips here and those details get written back into every photo and video, on this computer. Nothing is uploaded.

Drop your Takeout zips or the extracted folder here

Add every part of the export at once (the files ending -001.zip, -002.zip and so on). A photo and its JSON file are often in different parts.

Your first 50 files are free. $19 unlocks the rest of the export. Works in Chrome, Edge, Firefox and Safari on a computer.

Screenshot_20210115-221003.pngnone2021:01:15 22:10:03 -05:00
IMG-20200220-WA0012.jpgnone2020:02:20 18:47:12 +00:00
VID_20180312_091544.mp41904:01:01 00:00:002018:03:12 14:15:44 UTC
IMG_4821.HEIC2016:05:02 09:12:402016:06:02 09:12:40 +01:00

Examples of the change. The last one is a photo whose date was corrected in Google Photos: the correction only existed in the JSON file until now.

Each file gets its date, place and caption back inside it

Everything below is written in the tags photo libraries already read, so there is nothing extra to install on the other side.

The date it was taken

Photos get DateTimeOriginal, the capture-date tag that Lightroom Classic, Immich and Windows all read, plus its time zone offset. Videos get their QuickTime creation dates and Apple's CreationDate tag.

Where it was taken

Latitude, longitude and altitude from the JSON file become GPS tags in photos that don't already carry them, so map views work again.

The caption you typed

Descriptions you added in Google Photos go into ImageDescription and XMP dc:description, where Immich, Synology Photos and PhotoPrism look for them.

Local time where you were

When a photo has a location, its time zone comes from those coordinates, so a photo from a trip abroad shows the time on the clock there, not the time at home.

File dates that match

Every file's modified date is set to the moment it was taken when you unzip. Synology Photos and Immich both fall back to that date when a file has no capture date inside it.

A report of every file

fixmytakeout-report.csv lists each file, the JSON it was matched to, what was written, and anything that had no JSON at all.

Finds each photo's JSON even when Google shortened or renamed it

JSON file names are cut to 51 characters, newer exports add .supplemental-metadata, and duplicates put the (1) in a different place. These are real pairs from the issue trackers of two open-source Takeout tools, and the tool handles each of them. How Takeout names its files.

Examples of photo files and the JSON file that belongs to each
Photo or videoIts JSON fileWhy the name differs
20161105_170829.jpg20161105_170829.jpg.supplemental-metadata.jsonNewer exports add a suffix
MVIMG_20191230_232926.jpgMVIMG_20191230_232926.jpg.supplemental-metadat.jsonThe whole JSON name is cut to 51 characters
Screenshot_20231027_123303_Facebook.jpgScreenshot_20231027_123303_Facebook.jpg.supple.jsonA longer name loses more of the suffix
IMG_2710(1).HEICIMG_2710.HEIC(1).jsonThe (1) moves to the end
IMG_20140515_063415-edited.jpgIMG_20140515_063415.jpg.supplemental-metadata.jsonEdited copies share the original's
IMG_1976.MP4IMG_1976.HEIC.supplemental-metadata.jsonA Live Photo's video uses the still's

Your photos stay on this computer, and you can watch that happen

The page downloads its code and the ExifTool engine once, then does all of its reading and writing inside your browser tab. There is no upload button because there is nowhere to upload to.

  1. Open your browser's developer tools and pick the Network tab (F12 in Chrome and Edge, Cmd+Option+I on a Mac).
  2. Add your Takeout files and start fixing them.
  3. Watch the list: after the engine has loaded, no new requests appear while your photos are processed. The counter above the progress bar tells you the same thing.

Step-by-step checks for Chrome, Edge, Firefox and Safari

Try it on 50 of your own photos, then $19 for the whole export

The unlock button only appears after the tool has counted your files, so you never pay for an export the free tier already covers.

First 50 files

Free

  • The full fix on your first 50 photos and videos
  • The same zip output and CSV report as the paid run
  • Check the dates in your own photo app before you pay

Every file

$19 once

  • No file limit, in the browser you paid in
  • Carries on from file 51, so nothing is done twice
  • A PDF import guide for your destination by email, with a link that restores the unlock if you clear your browser

What it leaves alone, and why

Some formats have nowhere standard to put a date, and some files are better untouched. Each of these is listed in the report so nothing disappears quietly.

AVI, MKV, WMV and MPG videos

These formats can't be written safely, so the file is copied as it is and only its modified date is set. What each format can hold.

RAW files (DNG, CR2, NEF, ARW and others)

Left byte-for-byte as they are. Cameras already store the capture date inside RAW files; the file date is set to match.

Videos over 300 MB

The creation dates in the video header are corrected in place without rewriting the file. Location and caption are not added to these.

Albums, favorites and people

Album folders are kept as folders. Favorites and face names from the JSON are not written into files.

.tgz exports

A .tgz can only be read start to finish, so extract it first and add the folder. Choosing .zip when you create the export avoids the step.

Phones and tablets

Exports are usually many gigabytes, which is more than a phone browser will hold. Use a computer.

Questions people ask before they start

Does it change my original zips?

No. It only reads them. The fixed files are written into new zips named fixmytakeout-part-001.zip and onward, so your export stays exactly as Google delivered it.

How big an export can it handle?

There is no file limit. It reads straight out of the zips without unpacking them and writes output parts of 1, 2 or 4 GB, so memory use stays about the same whether you have 500 photos or 50,000. Each photo takes a fraction of a second, which puts a large library into hours rather than minutes; you can stop and pick up again later.

What happens if I close the tab halfway?

Finished parts are kept, and the browser remembers which files they held. Add the same files again and the tool offers to carry on from the first part that wasn't finished.

Which browsers work?

Current Chrome, Edge, Firefox and Safari on a computer. Chrome and Edge can write each part straight into a folder you pick. Firefox and Safari save each part to your downloads as it finishes.

What is sent anywhere when I pay?

The checkout request carries your email address, how many files the export has and the destination you picked, so the receipt can include the right import guide. Card details go to Stripe. No file, file name or photo date is sent.

My photos already show the right date. Will it change them?

Not by default. If the date inside a photo agrees with Google's apart from the time zone, the photo's own date is kept. Only missing dates, and dates that disagree by more than a time zone, are replaced.