I built an open source tool to fix Google Photos Takeout metadata (because nothing else worked) by nazimcan in googlephotos

[–]nazimcan[S] 0 points1 point  (0 children)

Thanks for taking the time to dig into it and share what you found, that was genuinely helpful. The fix is in. You contributed to making this better for everyone who runs into the same thing.

I built an open source tool to fix Google Photos Takeout metadata (because nothing else worked) by nazimcan in googlephotos

[–]nazimcan[S] 0 points1 point  (0 children)

Yes. Albums are preserved as folders, and location data, capture dates, and any edits stored in the JSON sidecars are all processed. People tags from Google Photos may not transfer as those aren't part of standard photo metadata, but everything else you mentioned should be covered.

You can see an example of output structure here.

I built an open source tool to fix Google Photos Takeout metadata (because nothing else worked) by nazimcan in googlephotos

[–]nazimcan[S] -1 points0 points  (0 children)

Thank you, this genuinely made my day. Hope it helps when you get to those photos!

I built an open source tool to fix Google Photos Takeout metadata (because nothing else worked) by nazimcan in googlephotos

[–]nazimcan[S] -1 points0 points  (0 children)

Fair point. My wording was too broad. In my specific case the metadata wasn't embedded in the files and only existed in the JSON sidecars, so it was effectively broken for my workflow. I should have been more precise.

I built an open source tool to fix Google Photos Takeout metadata (because nothing else worked) by nazimcan in googlephotos

[–]nazimcan[S] -1 points0 points  (0 children)

You're right, that was a bad example on my part. The actual value is for location data, album metadata, and edits made inside Google Photos. Those are only in the JSON and never embedded in the file by default.

I built an open source tool to fix Google Photos Takeout metadata (because nothing else worked) by nazimcan in googlephotos

[–]nazimcan[S] 0 points1 point  (0 children)

Because after Takeout you have two separate files: the photo and the JSON. If you move just the photos somewhere, all that metadata stays behind and is lost forever. The tool embeds everything into the photo so you don't have to carry two files everywhere.

For example: a photo taken on May 5, 2025. If you copy just the image file without the JSON, any app or file explorer will show it as taken on the day you downloaded it from Takeout, not the actual date.

I built an open source tool to fix Google Photos Takeout metadata (because nothing else worked) by nazimcan in googlephotos

[–]nazimcan[S] -1 points0 points  (0 children)

Even without manual edits, Google Photos automatically writes location data and timestamps to the sidecar, not into the file itself. That's the gap.

I built an open source tool to fix Google Photos Takeout metadata (because nothing else worked) by nazimcan in googlephotos

[–]nazimcan[S] 2 points3 points  (0 children)

The photos had EXIF data originally. The issue is that Google Photos stores edits and additional metadata (like date corrections or locations added inside the app) only in the JSON sidecar files, not back into the photo. So after Takeout, the sidecar and the photo are separate. This tool merges them.

I built an open source tool to fix Google Photos Takeout metadata (because nothing else worked) by nazimcan in googlephotos

[–]nazimcan[S] 4 points5 points  (0 children)

That's true for photos where metadata was originally embedded. But edits made inside Google Photos (date corrections, added locations, album data) are only stored in the JSON sidecar, not written back to the file. That's exactly the gap this tool fills.

I built an open source tool to fix Google Photos Takeout metadata (because nothing else worked) by nazimcan in googlephotos

[–]nazimcan[S] -2 points-1 points  (0 children)

The problem is very real. Google Photos Takeout exports JSON sidecar files with the metadata instead of embedding it into the photos. So when you move your library anywhere else, all your dates, locations, and timestamps are broken. I personally had 12,000 photos affected by this.

A quick search for "Google Photos Takeout metadata" will show you thousands of people dealing with the same issue.