Takeout JSON
SV

Immich visar fel datum efter import? Så fixar du det

Varför bilder hamnar på fel datum i Immich, hur Immich väljer datum från EXIF och sidecar-filer, och hur du fixar filerna innan du importerar dem.

Du har satt upp Immich, laddat upp ditt bibliotek, och tidslinjen är fel. Tusentals bilder har datumet då du importerade dem. Gamla semestrar ligger överst. Vissa datum är fel med exakt några timmar.

Så väljer Immich ett datum

Immich läser varje fils metadata och tar det första datum den hittar i en bestämd ordning. Ungefär: en XMP-sidecar bredvid filen om det finns en, sedan EXIF DateTimeOriginal, sedan videons CreateDate, och som sista utväg filens ändringsdatum.

Den läser filen. Den frågar inte dig. En bild utan EXIF-datum får alltså filens datum, och filens datum är vad din senaste kopiering lämnade det som, oftast idag. EXIF date taken vs file modified (på engelska) förklarar skillnaden.

Immichs egna uppladdare, mobilappen och CLI:t, skickar med filens ändringsdatum. Är det också fel finns det inget kvar som kan rädda bilden.

De vanliga orsakerna

Google Takeout. Den största. Google tar bort EXIF-datum från många bilder och lägger det riktiga datumet i en .json-sidecar bredvid filen. Immich läser inte Googles .json-format. Laddar du upp filerna direkt får varje fil utan EXIF uppladdningsdatumet. Google Photos to Immich (på engelska) är hela guiden för det fallet. Bakgrunden finns i Google Takeout ger bilderna fel datum?

Chattappar. WhatsApp och liknande tar bort EXIF helt. Sådana bilder har bara ett fildatum.

Skärmbilder och nedladdningar. PNG-filer och bilder från webben har sällan EXIF-datum.

Skanningar. Skannerns datum, alltså när du skannade, inte när bilden togs.

Tidszonsförskjutningar. En bild med EXIF-datum men utan tidszonsförskjutning behandlas som UTC på vissa ställen och som lokal tid på andra. Datumet stämmer, timmen är fel. Nyare telefoner skriver en tagg för förskjutningen och slipper det.

De två sätten att fixa det

Fixa i Immich. Du kan markera bilder i webbgränssnittet och ändra datum och tid, en markering i taget. För några bilder går det bra. För en Takeout-export på fyrtiotusen bilder gör det inte det, och rättningen finns bara i Immichs databas. Exporterar du biblioteket senare är datumen borta igen.

Fixa filerna först. Skriv rätt datum i varje fils EXIF innan du laddar upp. Immich läser det och får rätt, och det gör alla andra verktyg du någonsin pekar mot filerna också. Det är den hållbara lösningen.

immich-go, och när du ska använda det

immich-go är en gratis uppladdare för kommandoraden som förstår Google Takeout. Den läser .json-sidecar-filerna, parar ihop dem med filerna och skickar rätt datum till Immich tillsammans med uppladdningen. Är Immich ditt enda mål och är du van vid terminalen är det ett bra verktyg, och den hanterar album också.

Det den inte gör är att ändra filerna. Datumet hamnar i Immichs databas, inte i bilden. Flyttar du igen någon gång, eller pekar PhotoPrism eller Apple Bilder mot samma filer, börjar du om.

Fixa filerna för hand

exiftool kan skriva Takeout-datumet i EXIF. Kommandot är krångligt eftersom Googles sidecar-namn inte stämmer med bildnamnen på flera sätt. Ett genomarbetat exempel finns i Fixa Google Takeout-datum med exiftool.

För bilder utan sidecar och utan EXIF men med rätt fildatum kopierar du in fildatumet:

exiftool "-DateTimeOriginal<FileModifyDate" -if 'not $DateTimeOriginal' -r .

För en mapp där du vet datumet men inget annat ställer du in det:

exiftool -DateTimeOriginal="2014:08:10 12:00:00" -overwrite_original .

Kör sedan om Immichs jobb för metadataextrahering från administrationssidan, eller ladda upp igen, så att den läser de nya värdena.

Så gör du med appen

Takeout JSON Metadata Fixer förbereder en mapp som Immich importerar utan problem. Den skriver det riktiga datumet och GPS i varje fil, så att Immich läser dem direkt från EXIF.

Ge den en Takeout-export, i en zip-fil eller många, eller vilken mapp som helst. För varje bild tar den datumet från .json-sidecar-filen, faller tillbaka på EXIF och sedan på fildatumet, och skriver resultatet i filens EXIF och dess tidsstämplar. GPS skrivs in på samma sätt. HEIC kan konverteras till JPG på vägen. Bilder helt utan datum kan få ett datum och en plats för hela mappen.

Den skriver också en .json-sidecar bredvid varje utfil om du slår på det. Immich läser dem inte själv, men immich-go och andra importverktyg gör det, och de håller metadatan läsbar utanför alla bibliotek. Ladda sedan upp utmappen med Immich-appen, CLI:t eller som ett externt bibliotek. Datumen finns i filerna, så de blir rätt första gången.

Offline på macOS, Windows och Linux. Gratis för 1000 bilder, 19,99 USD en gång för obegränsat antal. Alla funktioner med skärmbilder: Ändra metadata på bilder.

Vanliga frågor

Jag har redan importerat. Måste jag börja om?

Inte nödvändigtvis. Fixa filerna på disken och kör sedan jobbet "Extract metadata" för alla objekt från Immichs administrationssida. Om filerna laddades upp i stället för att ligga i ett externt bibliotek måste du ladda upp de fixade igen och radera de gamla kopiorna, eftersom Immich sparar en egen kopia.

Varför är vissa datum fel med några timmar?

Tidszon. EXIF-datumet har ingen förskjutning, och Immich behandlar det som UTC eller som serverns tid beroende på version och inställningar. Nyare versioner hanterar det bättre. Det hjälper att ställa serverns tidszon efter platsen där de flesta bilderna togs.

Läser Immich Googles .json-sidecar-filer nu?

Inte direkt, när detta skrivs. Den läser XMP-sidecar-filer. immich-go läser Googles format och konverterar det i farten. Kolla Immichs versionsinformation, eftersom det här ändras.

Ändrar en fix av EXIF bildkvaliteten?

Nej. Att skriva EXIF ändrar ett block med metadata. Den komprimerade bilden rörs inte.