Takeout JSON
SV

Så för du in JSON-metadata från Takeout i dina bilder

Steg för steg: så skriver du datum och GPS från .json-filerna i Google Takeout in i bildfilerna, med exiftool eller med ett program på datorn.

Du har en mapp med bilder och bredvid varje bild en .json-fil med det riktiga datumet och platsen. Själva bilderna visar fel datum. Du vill att informationen i .json-filen skrivs in i bilden, så att du kan kasta .json-filerna och få en vanlig mapp med bilder.

Det här är ett löst problem. Så här gör du det för hand, och så här gör du det med ett klick.

Vad betyder det att slå ihop?

En JPEG-, HEIC- eller PNG-fil har ett block med metadata som heter EXIF. Kameror skriver tagningsdatumet där, i ett fält som heter DateTimeOriginal, och GPS-koordinaterna i fält som heter GPSLatitude och GPSLongitude. Bildappar på alla plattformar läser de fälten.

.json-filen från Takeout har samma information i en annan behållare. Att slå ihop betyder att läsa photoTakenTime och geoData från .json-filen och skriva in dem i EXIF-fälten. Samtidigt sätter du filens skapande- och ändringsdatum, så att Finder och Utforskaren sorterar rätt även i vyer som ignorerar EXIF.

Videor har ingen EXIF. Deras datum ligger i MP4- eller MOV-behållaren, i fält som CreateDate. Samma idé, andra fältnamn.

Steg 1: Packa upp allt på samma ställe

Takeout delar upp stora exporter i flera zip-filer. Packa upp alla i samma överordnade mapp så att albummapparna slås ihop. Om ett album sträcker sig över två zip-filer kan halva bilderna och halva .json-filerna ligga i var och en. De måste hamna bredvid varandra. Se Google Takeout i flera zip-filer om du har många.

Steg 2: Förstå hur en bild hittar sin .json-fil

Namnet på .json-filen är bildens namn plus ett tillägg. IMG_0042.JPG hör ihop med IMG_0042.JPG.supplemental-metadata.json i exporter från 2024 och framåt, eller med IMG_0042.JPG.json i äldre. Två saker bryter den enkla regeln. Namn som är längre än 46 tecken kortas av, så tillägget blir avhugget. Dubbletter får sin räknare på ett annat ställe: IMG_0042(1).JPG hör ihop med IMG_0042.JPG.supplemental-metadata(1).json. Verktyget du använder måste klara båda, annars hoppar det tyst över de filerna. supplemental-metadata.json förklarat visar riktiga exempel på båda.

Steg 3: Slå ihop med exiftool

exiftool är gratis och fungerar på alla plattformar. Installera det, öppna en terminal i mappen Google Photos och kör:

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 .

Så här fungerar det: för varje bild letar exiftool efter en fil i samma mapp med samma namn plus .supplemental-metadata.json och kopierar över de fält som står i listan. -d %s talar om för exiftool att tidsstämpeln är i sekunder sedan 1970. -overwrite_original hindrar exiftool från att lämna en säkerhetskopia av varje fil.

Kör kommandot en gång till med "%d/%F.json" för .json-filer i det äldre formatet. Kör sedan en gång till för videor:

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 .

Steg 4: Ta hand om det som exiftool missade

Räkna de bilder som blev kvar:

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

Listan innehåller de avkortade namnen, dubbletterna med (1) och bilder som aldrig hade någon .json-fil. De avkortade kan du fånga med ett kort skript som hittar den .json-fil vars namn är början på det väntade namnet. Dubbletterna måste döpas om innan mönstret fungerar. Det är den här delen som gör ett jobb på tio minuter till en hel kväll, och det är därför skript från användare, som GooglePhotosTakeoutHelper, finns. De är gratis och sköter matchningen åt dig, i en terminal.

En sak till: GPS-raderna ovan skriver gärna in 0.0, 0.0 i bilder vars .json-fil säger "plats okänd". Lägg till -if '$GeoDataLatitude ne 0', annars får du en samling bilder mitt i Atlanten.

Steg 5: Appen i stället

Takeout JSON Metadata Fixer gör steg 1 till 4 i en enda körning, på macOS, Windows och Linux.

Välj zip-filerna från Takeout eller den uppackade mappen. Appen parar ihop varje bild och video med sin .json-fil genom att prova alla namnformat som Google har använt, även avkortningen vid 46 tecken och räknaren (1). Den skriver datumet i EXIF för bilder och i behållaren för videor, sätter filernas datum och skriver bara GPS när koordinaterna är riktiga. Bilder utan .json-fil behåller sitt eget EXIF-datum, eller filens datum om EXIF saknas.

Du kan stanna där, med "Behåll namn" och "Behåll mina mappar", och få tillbaka samma mapp med rätt metadata. Eller så låter du appen samtidigt döpa om filerna efter datum och sortera dem i mappar per år och månad. En testkörning visar planen innan något skrivs. Gratisnivån räcker till 1000 bilder, och obegränsat kostar 19,99 USD en gång. Ingenting laddas upp någonstans.

Steg 6: Kontrollera och radera sedan .json-filerna

Öppna några bilder från olika år i din bildapp och kontrollera datumen. Radera sedan .json-filerna. På Mac eller Linux: find . -name "*.json" -delete inifrån mappen. I Windows söker du efter *.json i mappen, markerar allt och raderar. Spara de ursprungliga zip-filerna någonstans i en månad ifall du upptäcker ett problem. Kan jag radera JSON-filerna från Google Takeout? förklarar varför ordningen är viktig.

Vanliga frågor

Försämras bildkvaliteten när metadata slås ihop?

Nej. Bara metadatablocket skrivs om. Den komprimerade bilddatan kopieras byte för byte.

Vad händer om en bild redan har ett EXIF-datum som skiljer sig från .json-filen?

.json-filen visar det som Google Foto visade dig, även rättelser som du har gjort. I de flesta fall är det det datumet du vill ha. Om du aldrig ändrade datum i Google Foto stämmer de två ändå överens.

Varför blir tiden några timmar fel?

Tidsstämpeln i .json-filen är i UTC. EXIF har ingen tidszon, så verktygen räknar om till datorns lokala tidszon. Ställ in datorn på tidszonen där bilderna togs, eller acceptera skillnaden.

Kan jag bara slå ihop datumet och hoppa över GPS?

Ja. Ta bort GPS-raderna ur exiftool-kommandot. I appen skrivs GPS när den finns. Om du inte vill ha platsen i filnamnen väljer du en namnmall utan plats.