Takeout JSON
DE

Takeout-JSON in Fotos übernehmen: Datum und GPS ins EXIF

Schritt für Schritt: So schreiben Sie Datum und GPS aus den .json-Dateien von Google Takeout in die Fotos, mit exiftool oder mit einer Desktop-App.

Sie haben einen Ordner mit Fotos und neben jedem Foto eine .json-Datei, in der das echte Datum und der Ort stehen. Die Fotos selbst zeigen das falsche Datum. Sie möchten, dass die Angaben aus der .json-Datei im Foto landen, damit Sie die JSON-Dateien wegwerfen können und einen ganz normalen Fotoordner haben.

Das Problem ist gelöst. Hier ist der Weg von Hand und der Weg mit einem Klick.

Was "übernehmen" genau bedeutet

Ein JPEG, HEIC oder PNG hat einen Metadatenblock namens EXIF. Kameras schreiben das Aufnahmedatum in ein Feld namens DateTimeOriginal und die GPS-Koordinaten in GPSLatitude und GPSLongitude. Fotoprogramme auf jedem System lesen diese Felder.

Die JSON-Datei aus Takeout enthält dieselben Angaben in einem anderen Behälter. Übernehmen heißt: photoTakenTime und geoData aus der JSON-Datei lesen und in die EXIF-Felder schreiben. Bei der Gelegenheit setzen Sie auch Erstell- und Änderungsdatum der Datei, damit Finder und Explorer auch in Ansichten richtig sortieren, die EXIF ignorieren.

Videos haben kein EXIF. Ihr Datum steckt im MP4- oder MOV-Container, in Feldern wie CreateDate. Gleiche Idee, andere Feldnamen.

Schritt 1: Alles an einen Ort entpacken

Takeout teilt große Exporte in mehrere ZIP-Dateien. Entpacken Sie alle in denselben übergeordneten Ordner, damit die Albumordner zusammenlaufen. Liegt ein Album in zwei ZIP-Dateien, können die Hälfte der Fotos und die Hälfte der JSON-Dateien in jedem Teil liegen. Sie müssen am Ende nebeneinander stehen. Wie das bei vielen Teilen geht, steht in Google Takeout: mehrere ZIP-Dateien richtig entpacken.

Schritt 2: Wie ein Foto seine JSON-Datei findet

Der Name der JSON-Datei ist der Fotoname plus eine Endung. IMG_0042.JPG gehört in Exporten ab 2024 zu IMG_0042.JPG.supplemental-metadata.json, in älteren zu IMG_0042.JPG.json. Zwei Dinge brechen diese einfache Regel. Namen mit mehr als 46 Zeichen werden gekürzt, also wird die Endung abgeschnitten. Und bei Duplikaten steht der Zähler an einer anderen Stelle: IMG_0042(1).JPG gehört zu IMG_0042.JPG.supplemental-metadata(1).json. Jedes Werkzeug muss beides können, sonst überspringt es diese Dateien ohne Meldung.

Schritt 3: Übernehmen mit exiftool

exiftool ist kostenlos und läuft auf jedem System. Installieren Sie es, öffnen Sie ein Terminal im Ordner Google Fotos und führen Sie aus:

exiftool -r -d %s -tagsfromfile "%d/%F.supplemental-metadata.json" \
  "-DateTimeOriginal<PhotoTakenTimeTimestamp" \
  "-CreateDate<PhotoTakenTimeTimestamp" \
  "-FileCreateDate<PhotoTakenTimeTimestamp" \
  "-FileModifyDate<PhotoTakenTimeTimestamp" \
  "-GPSLatitude<GeoDataLatitude" "-GPSLatitudeRef<GeoDataLatitude" \
  "-GPSLongitude<GeoDataLongitude" "-GPSLongitudeRef<GeoDataLongitude" \
  -ext jpg -ext jpeg -ext heic -ext png -overwrite_original .

Was der Befehl tut: Er sucht für jedes Bild eine Datei mit demselben Namen plus .supplemental-metadata.json im selben Ordner und kopiert die genannten Felder hinüber. -d %s sagt exiftool, dass der Zeitstempel in Sekunden seit 1970 angegeben ist. -overwrite_original verhindert, dass von jeder Datei eine Sicherungskopie liegen bleibt.

Führen Sie den Befehl ein zweites Mal mit "%d/%F.json" aus, für JSON-Dateien im älteren Schema. Dann noch einmal für Videos:

exiftool -r -d %s -tagsfromfile "%d/%F.supplemental-metadata.json" \
  "-CreateDate<PhotoTakenTimeTimestamp" "-ModifyDate<PhotoTakenTimeTimestamp" \
  "-TrackCreateDate<PhotoTakenTimeTimestamp" "-MediaCreateDate<PhotoTakenTimeTimestamp" \
  "-FileModifyDate<PhotoTakenTimeTimestamp" \
  -ext mp4 -ext mov -overwrite_original .

Schritt 4: Was exiftool übersehen hat

Zählen Sie die Reste:

exiftool -r -if 'not $DateTimeOriginal' -ext jpg -ext heic -ext png -filename .

In der Liste stehen die gekürzten Namen, die (1)-Duplikate und Fotos, die nie eine JSON-Datei hatten. Die gekürzten fangen Sie mit einem kleinen Skript ab, das die .json-Datei sucht, deren Name der Anfang des erwarteten Namens ist. Die Duplikate müssen Sie umbenennen, bevor das Muster greift. An dieser Stelle wird aus zehn Minuten ein ganzer Abend, und deshalb gibt es Community-Skripte wie GooglePhotosTakeoutHelper. Sie sind kostenlos und übernehmen die Zuordnung, im Terminal.

Noch ein Haken: Die GPS-Zeilen oben schreiben auch 0.0, 0.0 in Fotos, deren JSON-Datei "Ort unbekannt" meint. Ergänzen Sie -if '$GeoDataLatitude ne 0', sonst liegt ein Haufen Fotos mitten im Atlantik.

Schritt 5: Stattdessen die App

Takeout JSON Metadata Fixer erledigt die Schritte 1 bis 4 in einem Durchlauf, auf Windows, Mac und Linux.

Wählen Sie die Takeout-ZIPs oder den entpackten Ordner. Die App ordnet jedem Foto und Video seine JSON-Datei zu und probiert dabei jedes Namensschema, das Google je verwendet hat, auch die Kürzung bei 46 Zeichen und den (1)-Zähler. Sie schreibt das Datum bei Bildern ins EXIF und bei Videos in den Container, setzt die Dateidaten und schreibt GPS nur, wenn die Koordinaten echt sind. Fotos ohne JSON-Datei behalten ihr eigenes EXIF-Datum oder, wenn es keines gibt, das Dateidatum.

Sie können dabei bleiben, mit "Namen behalten" und "Meine Ordner behalten", und bekommen denselben Ordner mit richtigen Metadaten zurück. Oder Sie lassen die Dateien gleichzeitig nach Datum umbenennen und in Ordner nach Jahr und Monat sortieren. Ein Probelauf zeigt den Plan, bevor etwas geschrieben wird.

Die ersten 1000 Fotos sind kostenlos. Premium ohne Grenze kostet einmalig 19,99 $, für fünf Computer 49,99 $. Die Oberfläche ist auf Deutsch, und nichts wird irgendwohin hochgeladen.

Schritt 6: Prüfen, dann die JSON-Dateien löschen

Öffnen Sie in Ihrem Fotoprogramm ein paar Fotos aus verschiedenen Jahren und prüfen Sie das Datum. Dann löschen Sie die .json-Dateien. Auf dem Mac oder unter Linux im Ordner: find . -name "*.json" -delete. Unter Windows suchen Sie im Ordner nach *.json, markieren alles und löschen. Bewahren Sie die Original-ZIPs noch einen Monat auf, falls Ihnen später ein Fehler auffällt. Mehr dazu in JSON-Dateien aus Google Takeout löschen.

Häufige Fragen

Verändert das Übernehmen die Bildqualität?

Nein. Nur der Metadatenblock wird neu geschrieben. Die komprimierten Bilddaten werden Byte für Byte kopiert.

Was, wenn ein Foto schon ein EXIF-Datum hat, das von der JSON-Datei abweicht?

Die JSON-Datei zeigt, was Google Fotos Ihnen angezeigt hat, einschließlich jeder Korrektur, die Sie dort gemacht haben. Meistens ist das das Datum, das Sie wollen. Haben Sie in Google Fotos nie ein Datum geändert, stimmen beide ohnehin überein.

Warum ist die Uhrzeit ein paar Stunden verschoben?

Der Zeitstempel in der JSON-Datei ist in UTC. EXIF kennt keine Zeitzone, also rechnen die Werkzeuge in die Zeitzone Ihres Computers um. Stellen Sie den Computer auf die Zeitzone, in der die Fotos entstanden sind, oder nehmen Sie die Verschiebung hin. Mehr dazu in Fotos um Stunden verschoben? Es ist die Zeitzone.

Kann ich nur das Datum übernehmen und GPS weglassen?

Ja. Lassen Sie im exiftool-Befehl die GPS-Zeilen weg. In der App wird GPS geschrieben, wenn es vorhanden ist. Wenn Sie den Ort nicht im Dateinamen haben möchten, wählen Sie eine Namensvorlage ohne Ort.