Why Google Takeout Photos Have the Wrong Date
By Josep Mampel Marques, updated
Google Takeout photos show the wrong date because Takeout keeps the date in two places that most apps do not read: inside the original file (only if the camera wrote it there) and in a separate .json file next to each photo. The file's own date becomes the day you downloaded the export. Any photo without a date inside the file, such as a screenshot or a scan, then sorts by the export date. The fix is to copy the date from the .json back into the photo and onto the file date, which is what PhotoFixer does in your browser.
What Google says happens to dates
Google's Takeout help page has two short notes for Google Photos. First, the file's timestamp may change to the download date, while the original timestamp remains in the embedded metadata. Second, extra information goes into a separate JSON file. Both are true, and together they explain almost every "wrong date" complaint:
- The file date (modified date) is the export date. Unzipping a Takeout gives every file the date of the export, not the day the picture was taken.
- The embedded date is kept only when it existed. A phone photo with EXIF keeps its
DateTimeOriginal. A file that never had one gets nothing from Takeout. - What Google Photos knows lives in the .json. The date shown in Google Photos, plus location and description, is written to the sidecar file, not into the photo.
Which photos end up with the wrong date
- Photos without EXIF: screenshots, scans, edited exports from other apps and many images saved from messaging apps or the web. They have no date inside, so any app falls back to the file date.
- Photos whose date you changed in Google Photos: the corrected date is in the
.json. In a sample published on the PhotoStructure forum, a scanned photo has acreationTimein 2020 and aphotoTakenTimein 1947, the date the owner wanted. - Videos: many apps sort videos by the file date or by the creation date inside the MP4 or MOV, which may be missing or set by the app that last saved the video.
- Everything, in apps that sort by file date: file managers, some NAS tools and backup software show the modified date, which is now the same day for the whole library.
What the .json file keeps
Each photo usually has a sidecar named after it, for example IMG_1234.jpg.json or, in newer exports, IMG_1234.jpg.supplemental-metadata.json. The fields that matter for dates are:
photoTakenTime: when the photo was taken, as a Unix timestamp in seconds plus aformattedtext in UTC.creationTime: a second timestamp that, from published samples, appears to be when the item was added to Google Photos. It is not the capture date.
The full list of fields, the 0, 0 location values and the truncated file names are covered in Google Takeout JSON files explained.
How to put the real dates back
- Download your library with Google Takeout, selecting only Google Photos and the zip format. See how to download Google Photos with Takeout.
- Do not unzip anything. Open PhotoFixer and choose all the zip parts at once (
takeout-...-001.zip,-002.zipand so on). A photo and its.jsoncan be in different parts, so give it every part. - Choose the time zone where most photos were taken. Google stores the time in UTC and EXIF expects local time, so the zone is used for the conversion and the offset is saved too.
- Choose how to arrange folders: by year and month, or keeping the Takeout album folders.
- Press Fix my photos. The zips are read and written in the browser tab; nothing is uploaded.
- Unzip the result and import it into your photo app or copy it to a drive.
What changes: JPEG photos without EXIF get the capture date, the location and the description from the .json. MP4 and MOV videos get their creation date. Every file in the result gets its capture time as the file date. JPEG photos that already have EXIF keep their own data and only get the fields they lack, and HEIC files are copied as they are with the correct file date.
Other tools that do this
PhotoFixer is not the only option, and sometimes it is not the best one:
- GooglePhotosTakeoutHelper (GPTH) is a free, open source program with an interactive mode for beginners. It reads dates from the JSON first and writes dates, GPS and captions; its README says writing to formats other than JPEG requires ExifTool.
- immich-go reads the Takeout zips and their JSON while uploading to Immich. If Immich is your destination, it is the simpler route: see Google Photos to Immich.
- Google's direct transfer to iCloud Photos skips Takeout files entirely. See Google Photos to iCloud for what it keeps and what it leaves out.
Before you delete anything
Check a handful of photos from different years in the destination app before removing the library from Google Photos. Look at a screenshot, an old scan and a video in particular, since those are the files most likely to have had no date of their own.
For the difference between the date inside a photo and the date of the file, see EXIF date vs file date.
FAQ
Does Google Takeout remove the date from my photos?
No. Google says the original timestamp stays in the photo's embedded metadata. What changes is the file date, which may become the download date, and anything Google Photos knows that is not inside the file ends up in a separate .json file.
Why are only some photos wrong?
Photos from a camera or phone usually carry their date inside the file (EXIF), so apps that read EXIF show them correctly. Screenshots, scans and many images saved from apps or the web have no date inside, so apps fall back to the file date, which is now the export date.
Is the time in the .json file local time?
No. The photoTakenTime value is a Unix timestamp, and its formatted text is written in UTC. To turn it into the local time that photo apps expect, you need to know the time zone where the photo was taken.