Google Takeout Explainer Updated October 2026

What Are the .json Files in a Google Takeout?

Every photo and video in a Google Photos Takeout comes with a small .json file next to it. It holds what Google Photos knows about that item beyond the file itself: the date and place Google Photos shows (including any you corrected), the caption, the people tagged, and whether it was a favourite. Your photos are not broken without it — but that information is only in the .json, so do not delete those files until it has been written back into the photos. The simplest way to do that on a Mac or PC is FolioSort, free with no file limit; on the command line, GooglePhotosTakeoutHelper Neo; and if you are moving to Immich, immich-go.

Takeout repair is free, with no file limit Mac and Windows Runs on your computer — nothing uploaded

FolioSort makes this page and one of the tools on it. Google does not publish a specification for these files; what follows comes from Google's help pages and from the documentation and source code of the open-source tools that read them, checked in October 2026.

Why Google puts a .json next to every photo

Google's own explanation is one paragraph on its "How to download your Google data" help page: the operating system may give each downloaded file a new timestamp, but the photo or video metadata still has the original timestamp preserved in the metadata embedded within the files. Any additional metadata that isn't from the original file, like comments within Google Photos, are downloaded to a secondary JSON file.

So two different things are going on when a Takeout looks wrong:

  • Every file shows today's date in Finder or File Explorer. That is the file-system date, set when you unzipped the export. A camera photo still carries its real capture date inside it, and any app that reads EXIF will see it.
  • Some photos really have no date or place of their own. Images that never had a date inside — typically pictures saved from messaging apps, screenshots and scans — and any date or location you corrected or added in Google Photos exist only in the .json. Google says an edited date stays in Google Photos: if you share the photo to other apps or download it, the photo may show the original date and time saved by your camera.

That second group is why the .json files matter, and why a library rebuilt without them ends up with a pile of photos on the day of the download. How common each case is, across 154 real exports: what is inside a real Google Takeout.

What is inside a Takeout .json file

A typical photo sidecar, shortened. Fields that are not set (a favourite, an archived photo, tagged people) are simply missing.

{
  "title": "PXL_20230806_181530412.jpg",
  "description": "Sunset at the lighthouse",
  "imageViews": "4",
  "creationTime":   { "timestamp": "1691691200", "formatted": "10 Aug 2023, 18:13:20 UTC" },
  "photoTakenTime": { "timestamp": "1691345730", "formatted": "6 Aug 2023, 18:15:30 UTC" },
  "geoData":     { "latitude": 38.6916, "longitude": -9.2160, "altitude": 12.0, "latitudeSpan": 0.0, "longitudeSpan": 0.0 },
  "geoDataExif": { "latitude": 38.6916, "longitude": -9.2160, "altitude": 12.0, "latitudeSpan": 0.0, "longitudeSpan": 0.0 },
  "people": [ { "name": "Ana" } ],
  "favorited": true,
  "url": "https://photos.google.com/photo/…",
  "googlePhotosOrigin": { "mobileUpload": { "deviceType": "ANDROID_PHONE" } }
}
FieldWhat it holds
photoTakenTimeThe capture date Google Photos shows, including a date you corrected. timestamp is Unix time in seconds, in UTC, stored as text; formatted is the same moment written out in your account's language. This is the field every tool uses for the date.
creationTimeA second timestamp that is not the capture date — in real exports it is usually later. The tools ignore it for dating.
geoData / geoDataExifLocation. geoDataExif is the GPS the camera recorded; geoData is the location Google Photos shows, which can be estimated or added by you. All zeros means no location, not a place in the Atlantic.
titleThe file name as it was uploaded — the only full-length name when Takeout shortened the file's own name.
descriptionThe caption typed in Google Photos.
peopleNames of the faces you tagged.
favorited, archived, trashedFlags, present only when true.
url, imageViews, googlePhotosOriginThe item's link on photos.google.com, a view count, and where it came from (a phone upload, partner sharing).

Because the timestamp is UTC and the file carries no time zone, a tool has to choose how to write it back: as UTC, or converted to local time. Photos taken near midnight can move a day if this is done naively.

Why the .json names look broken

Most problems pairing photos with their .json come from how Takeout names them.

  • Two naming styles. Older exports name the sidecar IMG_1234.jpg.json. Exports since late 2024 add a suffix: IMG_1234.jpg.supplemental-metadata.json.
  • Names are cut at 51 characters. The whole sidecar name, .json included, is capped at 51 characters, so long names lose their end — sometimes in the middle of the suffix, as in PXL_20240817_202602411.mp4.supplemental-metada.json. The photo's own name can be shortened too; the full original name survives only in the title field.
  • The (1) moves. When two photos share a name, the second is IMG_3479(1).JPG but its sidecar is IMG_3479.JPG(1).json — or, in newer exports, IMG_3479.JPG.supplemental-metadata(1).json.
  • Edited copies have no .json of their own. A photo edited in Google Photos comes out twice — the original and a copy ending in -edited — with one sidecar for both. The suffix is translated into your account's language: -bearbeitet, -modifié, -modificato, -editado and so on.
  • Live and motion photos. The still image gets the sidecar; the short video half usually does not.
  • Folders. Every photo sits in a Photos from YYYY folder, and again in the folder of each album it belongs to. Album folders also contain one album-level file — metadata.json, or its translation (métadonnées.json, Metadaten.json, metadati.json) — with the album's title.
  • Large exports are split into parts, and a photo's .json can end up in a different .zip from the photo. Extract every part into the same folder before you try to match anything.

Can you delete the .json files?

Yes — after their data is in the photos, not before. Deleted first, you lose for good:

  • the date of every photo that has none inside it, and every date you corrected in Google Photos;
  • locations you added, or that Google Photos estimated;
  • captions, tagged people, favourites and archived flags;
  • the full original file name of photos whose name Takeout shortened.

Some tools also depend on them: immich-go, for example, skips photos that have no matching .json unless you tell it otherwise. Once a tool has written the dates, places and captions into the files, the sidecars only hold what it did not write — tagged people or flags, depending on the tool — and you can decide whether that still matters.

How to put the .json data back into your photos

The tools that read Takeout sidecars, and what each one actually writes.

ToolHow you use itWrites into the photo filesPrice
FolioSortA Mac and Windows app: point it at the unzipped export and click Scan, then run the importDate and GPS, plus favourites as a 5-star rating, tagged people as keywords, and captionsRepair free, no file limit; Pro €29.99 once for date folders and album-duplicate clean-up
GooglePhotosTakeoutHelper NeoOpen-source command-line tool, the maintained fork of GPTHDate, GPS and captions (needs ExifTool for anything but JPEG)Free
GooglePhotosTakeoutHelper (original)Command line; sorts photos into date foldersNo — uses the date for sorting and the file date onlyFree
immich-goCommand line, for importing into an Immich serverNo — sets the metadata in Immich, files unchangedFree
ExifToolCommand line; can read a JSON file as a tag source, but you write and test the command yourselfWhatever your command copiesFree
Metadata FixerCommercial desktop appDate, title/description and GPS, per its own sitePaid

Full comparison, including when each of the others is the better choice: best tool to fix Google Takeout dates and JSON files. Moving to a self-hosted server: Google Photos to Immich, step by step.

With FolioSort, in four steps

  1. Extract every .zip part of the export into the same folder.

  2. Open the Google Photos screen, choose that folder as the Takeout Folder and click Scan. Each photo is paired with its .json — including the .supplemental-metadata names, shortened names and (1) duplicates — and you see how many were Matched and which are Orphans, with the reason for each.

  3. Choose a Destination Folder, keep Copy so the export stays as Google gave it, and run the import. The photos are written with their real dates and places inside them; the export itself is only read.

  4. Check the result in any app that reads EXIF. Once you are happy, the .json files have done their job.

Frequently asked questions

What are the .json files in my Google Photos Takeout?

They are sidecar files, one per photo or video, holding what Google Photos knows beyond the file itself: the capture date and location it shows (including any you corrected), the caption, tagged people and flags such as favourite. Google exports them separately because that information is not inside the original file.

Did Google Takeout remove the dates from my photos?

Usually not. Google says the original timestamp is preserved inside the files; what changes is the file-system date shown in Finder or File Explorer. The dates that exist only in the .json are those of images that never had one inside — often from messaging apps, screenshots or scans — and any date you edited in Google Photos.

Can I delete the .json files from Google Takeout?

Only after their data has been written into the photos. Deleted first, you lose the dates of photos without one inside, dates and places you corrected or added, captions, tagged people, favourites, and the full name of files Takeout shortened.

What does .supplemental-metadata.json mean?

It is the newer name for the same sidecar: exports since late 2024 name it IMG_1234.jpg.supplemental-metadata.json instead of IMG_1234.jpg.json. Because the whole name is capped at 51 characters, long names can be cut inside the suffix, giving endings like .supplemental-metada.json.

Why do some photos have no .json file?

Edited copies (ending in -edited or its translation) share the original's sidecar, the video half of a Live or motion photo usually has none, and a photo's .json can be in a different zip part of a split export. Extract all parts into one folder before matching.

Can I open a Takeout .json file?

Yes, it is plain text: TextEdit, Notepad or any browser will show it. The timestamp is in Unix seconds, UTC; the formatted line next to it is the same date in your account's language.

What is the easiest way to merge the .json data into my photos?

On a Mac or Windows PC, FolioSort pairs every photo with its .json and writes the date, GPS, favourites, tagged people and captions into the files, in a normal window and for free with no file limit. On the command line, GooglePhotosTakeoutHelper Neo writes date, GPS and captions; for an Immich server, immich-go reads the sidecars during import.

Related guides

Put the .json data back where it belongs.

FolioSort pairs every photo with its .json and writes the dates, places, captions and people into the files — free, with no file limit, on Mac and Windows.

14-day guarantee Files processed locally macOS 14+ & Windows 10+