Upload of old Google Takeout zip fails — json files are unsupported, all files are without a sidecar
I have an old (2017) Google Takeout archive that I was hoping to upload to Immich. I used the default options:
immich-go upload from-google-photos --server <my-url> --api-key=<my-api-key> takeout-20170922T080037Z-001.zip
Sadly, probably because the metadata format changed a bunch since then, immich-go doesn't seem to recognize the json files and doesn't upload anything:
Full log file: immich-go_2025-10-09_23-26-29.log
It's probably too much to ask to support old Takeout archives (though it certainly would be great), but if I knew what JSON format immich-go expected, I could probably write a script to convert all those JSON files into the right format? Is it documented somewhere? Here's a random JSON file from the archive (with lat/long truncated for privacy) to give an idea of what it looks like:
{
"tags": [],
"description": "",
"title": "IMG_20160612_112853.jpg",
"people": [],
"comments": [],
"url": "https://lh3.googleusercontent.com/-m5IqGWUEJVs/V13gqQQYvqI/AAAAAAAAEC0/hyHKe8NUhPsf7cDd25Oi6BaGXseVF0migCLAB/s0-d/IMG_20160612_112853.jpg",
"geoInfo": {
"latitude_": 48.8,
"longitude_": 2.3,
"altitude_": -0.0,
"latitude_span_": 0.0,
"longitude_span_": 0.0,
"uninterpreted": null,
"optional_0_": 7,
"isMutable": true,
"cachedSize": -1
},
"geoInfoExif": {
"latitude_": 48.8
"longitude_": 2.3
"altitude_": -0.0,
"latitude_span_": 0.0,
"longitude_span_": 0.0,
"uninterpreted": null,
"optional_0_": 7,
"isMutable": true,
"cachedSize": -1
},
"imageViews": 0,
"license": null
}
Thanks a ton in advance! And thanks for your work on this project!
Indeed, the JSON structure has changed since then. I can certainly adjust immich-go to read the old format.
You should also check your archives to see if there are variation of those files.