Takeout JSON

Google Takeout Photos Show the Wrong Date? Here Is Why

Why every photo from a Google Takeout export shows the day you downloaded it, where the real dates are hiding, and how to put them back.

You downloaded your Google Photos library, unzipped it, and opened the folder. Ten years of pictures, and every single one says it was taken last Tuesday. Sorting by date puts a 2012 beach trip next to yesterday's screenshots.

Nothing is lost. The dates are still there, just not where your computer looks for them.

Where the date went

A photo can carry its date in three places. The camera writes one into the file itself, in the EXIF block, as "DateTimeOriginal". The operating system keeps two more on the outside of the file: created and modified. Finder, Explorer and most gallery apps read EXIF first and fall back to the file dates when EXIF is missing.

Takeout breaks this in two ways. First, when Google unpacks your files into a zip, the file dates become the moment the zip was built, or the moment you extracted it. That alone would not matter if EXIF were intact.

Second, for a large share of photos, the EXIF date is missing or wrong. Screenshots never had one. WhatsApp and other messaging apps strip metadata when they compress. Scans have the scan date, not the day the print was made. And if you ever corrected a date inside Google Photos, that correction was saved in Google's database, not in the file. Google puts the correct information in a separate .json file beside each photo instead of writing it back into the picture.

Your computer ignores those .json files completely. So it shows the only date it can find: the download date.

Check how bad it is

Before fixing anything, find out how many files actually need it. Photos straight off a phone camera usually still have a good EXIF date. If most of yours do, you may only need to fix a subset.

If you have exiftool installed, this lists every file without an EXIF date:

exiftool -r -if 'not $DateTimeOriginal' -filename "Takeout/Google Photos"

On one real 991-photo Takeout part we measured, the sidecars were the only source of a correct date for roughly one photo in five. Your mix will differ. Libraries full of screenshots, chats and old scans lean much more on the sidecars.

Open a sidecar and look

Each photo has a partner file such as IMG_2034.JPG.supplemental-metadata.json (older exports use IMG_2034.JPG.json). Open it in any text editor. The part that matters looks like this:

"photoTakenTime": {
  "timestamp": "1563102330",
  "formatted": "Jul 14, 2019, 11:05:30 AM UTC"
}

That timestamp is the real date, in seconds since 1970, in UTC. There is also a creationTime, which is when the file was uploaded to Google. If you want the date the picture was taken, photoTakenTime is the one. We cover the whole file in what the JSON files in Google Takeout are.

Fixing it by hand

For a handful of photos, set the date manually. On a Mac, open the photo in Preview or Photos and adjust the date. On Windows, right-click the file, choose Properties, then Details, and edit "Date taken". Do this for fifty photos and you will want a better way.

For a whole library, the tool people reach for is exiftool. One command copies the timestamp from each sidecar into the photo and into the file dates:

exiftool -r -d %s -tagsfromfile "%d/%F.supplemental-metadata.json" \
  "-DateTimeOriginal<PhotoTakenTimeTimestamp" \
  "-FileCreateDate<PhotoTakenTimeTimestamp" \
  "-FileModifyDate<PhotoTakenTimeTimestamp" \
  -ext jpg -ext jpeg -overwrite_original "Takeout/Google Photos"

It works, with catches. Google truncates long sidecar names at 46 characters, so the pattern above misses some. Duplicates get a (1) in a different position in the sidecar name than in the photo name. Videos need different tags. HEIC and PNG need separate passes. We go through all of it in the exiftool guide. There are also free community scripts such as GooglePhotosTakeoutHelper that handle the naming quirks for you, if you are comfortable with a terminal.

The app

If you would rather not spend an evening on the command line, Takeout JSON Metadata Fixer does this as a desktop app on macOS, Windows and Linux.

You point it at the Takeout zips or the unpacked folder. It matches every photo to its sidecar, including the 2024 supplemental-metadata names, the truncated ones and the (1) duplicates. Then it writes photoTakenTime into the photo's EXIF and sets the file's created and modified dates to match. Photos with no sidecar keep their EXIF date if they have one, and fall back to the file date if they do not, so nothing comes out undated.

Videos get their date too, written into the MP4 or MOV where players expect it. GPS coordinates go back into the photo when the sidecar has real ones. You can also have it rename files to the real date and sort them into year and month folders, but that part is optional. If you only want the dates fixed, choose "Keep names" and "Keep my folders".

There is a dry run that shows what would change without writing anything. The first 500 photos are free, and a one-time purchase of $9.99 removes the limit. Everything runs on your own computer; your photos are never uploaded.

Once the dates are inside the files, they stay correct wherever the photos go next: Apple Photos, a NAS, Immich, a USB stick or a new phone.

Frequently asked questions

Will the dates be in the right time zone?

The sidecar stores an exact instant in UTC. Tools convert it to your computer's local time when writing EXIF, which does not carry a time zone by default. A photo taken at 11:05 in Paris comes out as 11:05 if your computer is set to Paris time, and 05:05 if it is set to New York. Set your computer to the zone most of your photos were taken in before fixing them, or accept a few hours of drift on holiday photos.

Do I lose anything by writing to the EXIF?

Writing a date tag changes the metadata block only. The image pixels are untouched. Keep the original zips until you are happy with the result, which is good practice anyway.

Why are only some photos wrong?

Because only some photos lacked an EXIF date to begin with. Camera photos usually have one. Screenshots, chat images, scans and anything you re-dated inside Google Photos depend on the sidecar.

Can I delete the JSON files after fixing the dates?

Yes. Once the date and GPS are written into the photos, the sidecars have done their job. Keep them until you have checked a few photos in your new library, then delete them.