What Are JSON Files in Google Takeout (And What to Do With Them)

Reading time: 5 minutes

You downloaded your photos from Google Photos using Takeout, expecting to find your pictures. Instead, you're staring at thousands of mysterious .json files mixed in with your photos. What are these files? Can you delete them? And why did Google make this so complicated?

What Are These JSON Files?

The .json files in your Google Takeout export are metadata sidecar files. Each one corresponds to a photo or video and contains important information about that file:

  • When the photo was taken (the original date and time)
  • Where it was taken (GPS coordinates)
  • Descriptions and captions you added in Google Photos
  • People tagged in the photo
  • Whether it was favorited
  • The original filename and what device took it

For every photo like IMG_1234.jpg, there's a matching IMG_1234.jpg.json file sitting right next to it.

What's Inside a JSON File

If you open one of these JSON files in a text editor, you'll see something like this:

{
  "title": "IMG_20230815_142536.jpg",
  "description": "Beach sunset with the family",
  "photoTakenTime": {
    "timestamp": "1692113136",
    "formatted": "Aug 15, 2023, 2:25:36 PM UTC"
  },
  "geoData": {
    "latitude": 36.778259,
    "longitude": -119.417931,
    "altitude": 15.0,
    "latitudeSpan": 0.0,
    "longitudeSpan": 0.0
  },
  "geoDataExif": {
    "latitude": 36.778259,
    "longitude": -119.417931,
    "altitude": 15.0,
    "latitudeSpan": 0.0,
    "longitudeSpan": 0.0
  },
  "favorited": true,
  "googlePhotosOrigin": {
    "mobileUpload": {
      "deviceType": "ANDROID_PHONE"
    }
  }
}

This file tells us the photo was taken on August 15, 2023 at 2:25 PM, in California (those GPS coordinates), it was favorited, and it was uploaded from an Android phone. The description "Beach sunset with the family" was something the user typed in Google Photos.

JSON stands for "JavaScript Object Notation" - it's just a way to store structured data in a text file. You don't need to understand programming to use this data; you just need the right tool to read it and put it back where it belongs.

Why Does Google Separate the Metadata?

When you upload photos to Google Photos, the service processes and sometimes re-compresses your images. During this process, the EXIF metadata (the data embedded inside the photo file itself) can get stripped out or modified.

Google stores this metadata separately in their database. When you browse Google Photos, the app reads from this database to show you dates, locations, and albums. But when you export via Takeout, Google gives you:

  • The photo files (often with stripped or incorrect EXIF data)
  • Separate JSON files containing the metadata from their database

This is a design choice that prioritizes Google's internal systems over your convenience. They could re-embed the metadata into your photos before export, but they don't.

The Problem: Your Photos Lost Their Data

This is the critical issue: If you import your Takeout photos into Apple Photos, Lightroom, or any other photo manager without fixing this first, all your photos will show the wrong date. They'll appear as if they were all taken today, or on the export date. Your carefully organized timeline will become a mess.

The actual photo files in your Takeout export often have:

  • No "Date Taken" field - or the wrong date
  • No GPS location - even though you can see locations in Google Photos
  • No descriptions - captions you added are only in the JSON
  • Generic filenames - sometimes renamed to avoid duplicates

The JSON files have all this information. The challenge is getting it back into the photos.

What To Do With Your JSON Files

You have three options:

Option 1: Delete Them and Lose the Data

You can delete all the JSON files and just keep the photos. This is the simplest approach, but you'll permanently lose:

  • Correct dates on many photos
  • All GPS location data
  • Any descriptions or captions
  • Your favorites

If your photos spanning 10+ years all show up as "January 2026" in your photo library, you'll understand why this matters.

Option 2: Use exiftool Manually

ExifTool is a free command-line program that can read JSON files and write metadata into photos. If you're comfortable with the terminal, you can use commands like:

exiftool -r -d %s -tagsfromfile "%d/%F.json" \
  "-GPSAltitude<GeoDataAltitude" \
  "-GPSLatitude<GeoDataLatitude" \
  "-GPSLatitudeRef<GeoDataLatitude" \
  "-GPSLongitude<GeoDataLongitude" \
  "-GPSLongitudeRef<GeoDataLongitude" \
  "-DateTimeOriginal<PhotoTakenTimeTimestamp" \
  -overwrite_original -ext jpg -ext jpeg -ext png -ext mp4 .

This works for simple cases, but the reality is messier. Google's filename matching is inconsistent - sometimes the JSON includes the extension, sometimes it doesn't. Edited photos get different names. Videos need different EXIF tags than photos. Live Photos are split into two files. Some filenames get truncated at 46 characters. Duplicates get numbered suffixes that don't match. We've spent years handling all these edge cases. If you go the manual route, expect a lot of trial and error.

Option 3: Use Metadata Fixer

Metadata Fixer is a desktop app designed specifically for this problem. It handles all the complexity automatically:

  • Smart matching: Finds the right JSON file for each photo, even when Google's naming is inconsistent
  • Works with everything: Photos (JPEG, PNG, HEIC), videos (MP4, MOV), and even camera RAW files
  • Handles Live Photos: Automatically pairs the still image with its video component
  • Processes zip files directly: No need to extract gigabytes of files first
  • Pause and resume: Stop anytime and pick up where you left off - even days later
  • Fast: Processes multiple files at once to handle large libraries efficiently

How Metadata Fixer Works

The process is straightforward:

  1. Point it at your Takeout files - either zip files or extracted folders
  2. Let it scan and match - the app finds all photo/JSON pairs automatically
  3. Review and process - metadata gets written back into your photos
  4. Import anywhere - your photos now have correct dates and locations

After processing, you can safely delete the JSON files. The metadata is now embedded in your photos where it belongs, and will follow them wherever you import them - Apple Photos, Lightroom, a NAS, or back to Google Photos.

What Gets Restored

  • Date Taken - photos sort correctly by when they were actually taken
  • GPS Location - photos appear on maps and in location-based albums
  • Timezone - automatically figured out from where the photo was taken
  • Descriptions - captions you wrote in Google Photos
  • People - names from Google Photos face tagging
  • File dates - even Finder/Explorer will show the correct date

Frequently Asked Questions

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

They're metadata sidecar files containing the date taken, GPS location, descriptions, and other information for each photo. Google stores this data separately and exports it in JSON format alongside your photos.

Can I just delete the JSON files?

You can, but you'll permanently lose your photo metadata. Your photos will show the wrong dates, have no location data, and lose any descriptions you added. Merge the data first, then delete them.

Why doesn't the JSON filename match my photo exactly?

Google truncates filenames at 46 characters and adds inconsistent suffixes. A photo named IMG_1234.jpg might have a JSON file called IMG_1234.jpg.json or just IMG_1234.json. Duplicates get numbered. This inconsistency is why manual matching is so tedious.

What metadata is stored in the JSON files?

The JSON contains: original capture timestamp, GPS coordinates (latitude, longitude, altitude), descriptions you added, people tagged in the photo, whether it was favorited, and what device took it.

Some of my photos don't have JSON files. Why?

Very old photos uploaded before Google started preserving metadata, or photos that were shared with you rather than uploaded by you, might not have JSON files. The original metadata simply doesn't exist in Google's database.

What's the "photoTakenTime" vs "creationTime" in the JSON?

photoTakenTime is when the photo was actually taken (from your camera). creationTime is when it was uploaded to Google Photos. You want the photoTakenTime.

Do edited photos have separate JSON files?

Yes. If you edited a photo in Google Photos, you'll have both the original and the edited version, each with their own JSON file. The filenames often have suffixes like "-edited" that don't match exactly.

Can I read the JSON files to see what's in them?

Yes, they're plain text. Open one in any text editor and you'll see the timestamp, GPS coordinates, and other metadata in a structured format. It's human-readable, just not in a format your photos app understands.

How many JSON files should I have?

Roughly one per photo and video. If you have 10,000 photos, expect around 10,000 JSON files (maybe more if you have edited versions). Yes, it doubles the file count in your Takeout export.

Why is my photo in one zip but its JSON in another?

Google splits large exports across multiple zip files and doesn't keep photo/JSON pairs together. This is why you need to process all your Takeout zips at once - the app matches files across all of them. It handles terabytes without issues.

Fix Your Google Takeout Metadata

Metadata Fixer reads your Google Takeout JSON files and writes the dates, locations, and descriptions back into your photos automatically. No command line required. Works on Mac and Windows.

Download Metadata Fixer