Takeout JSON
EN

Immich Change Date: Fix Wrong Dates in Immich

Immich change date: select the photos in the Immich web app and edit their date and time, or, for a whole library, fix the dates in the files first.

To change a date in Immich, open the web app, select one photo or several, and use the option to edit the date and time in the menu for the selection. Immich moves them to the new place in the timeline. For hundreds or thousands of wrong dates, such as a Google Takeout import, fix the date inside the files first and let Immich read them again.

You set up Immich, uploaded your library, and the timeline is wrong. Thousands of photos are dated the day you imported them. Old holidays sit at the top. Some dates are off by exactly a few hours. This page shows both ways to change the date, and when each one is the right choice.

Changing the date of a few photos in Immich

In the Immich web app, select the photos with the wrong date. The selection menu has an entry to change the date and time. Enter the correct date, time and, if needed, the time zone, and confirm. The photos move to that date in the timeline. The exact names and the place of the entry differ a little between Immich versions; look in the menu that opens for the selected photos.

When you select several photos at once, they all get the same date. That is right for a batch of scans from one event, and wrong for photos from different days. Change those one day at a time.

Where does the new date go? Immich stores it in its database and, depending on your version and settings, in an XMP sidecar next to the file. It does not rewrite the date inside the original photo. If you export or move the files later, check that the new date went with them.

How Immich picks a date

Immich reads each file's metadata and takes the first date it finds in a fixed order. Roughly: an XMP sidecar beside the file if there is one, then EXIF DateTimeOriginal, then the video's CreateDate, then the file's modified date as a last resort.

It reads the file. It does not ask you. So a photo with no EXIF date gets the file date, and the file date is whatever your last copy operation left it as, usually today. /blog/exif-date-taken-vs-file-modified explains the difference.

Immich's own uploaders, the mobile app and the CLI, pass along the file's modified date, so if that is also wrong there is nothing left to save the photo.

The common causes

Google Takeout. The biggest one. Google strips EXIF dates from many photos and puts the real date in a .json sidecar next to the file. Immich does not read Google's .json format. Upload those files directly and every one without EXIF gets the upload date. /blog/google-photos-export-to-immich is the full guide for that case.

Messaging apps. WhatsApp and friends strip EXIF entirely. Those photos have only a file date.

Screenshots and downloads. PNGs and web images rarely have EXIF dates.

Scans. The scanner's date, which is when you scanned, not when the photo was taken.

Time zone shifts. A photo with an EXIF date but no time zone offset is treated as UTC by some paths and local time by others. The date is right, the hour is off. Newer phones write an offset tag and avoid this.

When changing the date in Immich is not enough

Changing the date in Immich works for a few photos. For a Takeout export of forty thousand it does not, for two reasons. You cannot pick the right date for each photo by hand at that scale. And the fix belongs to Immich, not to the files, so a later export or a second photo app starts from the wrong dates again.

The durable fix is to write the correct date into each file's EXIF before upload. Immich reads it, gets it right, and so does every other tool you ever point at those files.

immich-go, and when to use it

immich-go is a free command-line uploader that understands Google Takeout. It reads the .json sidecars, matches them to files and sends the correct date to Immich along with the upload. If Immich is your only destination and you are comfortable with a terminal, it is a good tool and it handles albums too.

What it does not do is change the files. The date goes into Immich's database, not into the photo. If you ever migrate again, or point PhotoPrism or Apple Photos at the same files, you start over.

Fixing the files by hand

exiftool can write the Takeout date into EXIF. The command is fiddly because Google's sidecar names do not match the photo names in several ways. There is a worked example at /blog/exiftool-google-takeout.

For photos that have no sidecar and no EXIF but whose file date is right, copy the file date in:

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

For a folder where you know the date and nothing else, set it:

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

Then re-run Immich's metadata extraction job from the admin page, or re-upload, so it reads the new values.

Doing it with the app

Takeout JSON Metadata Fixer prepares a folder that Immich imports cleanly. It writes the real date and GPS into every file, so Immich reads them straight from EXIF.

Feed it a Takeout export, in one zip or many, or any folder. For each photo it takes the date from the .json sidecar, falls back to EXIF, then to the file date, and writes the result into the file's EXIF and its timestamps. GPS goes in the same way. HEIC can be converted to JPG on the way. Photos with no date at all can be given one date and place for the folder.

It also writes a .json sidecar beside each output file if you turn that on. Immich itself does not read those, but immich-go and other importers do, and they keep the metadata readable outside any library. Then upload the output folder with the Immich app, the CLI or an external library. The dates are in the files, so they arrive right the first time.

Offline on macOS and Windows. Free for 500 photos, $19.99 one-time for unlimited.

Frequently asked questions

Can I change the date of multiple photos in Immich at once?

Yes. Select them all and change the date once. They all get the same date and time. To shift a group of photos by the same amount of hours instead, fix the files with exiftool (-AllDates+=3 adds three hours) and let Immich read them again.

Can I change the date on the Immich phone app?

The editing options in the mobile app change between versions. The web app has the most complete date editing. If your phone app does not show the option, use a browser.

Can I edit the date of a single photo on a Mac before upload?

Yes. The exiftool -DateTimeOriginal= command above works on a single file as well as a folder. For a whole Takeout export, use the app below; it reads the dates from the .json files.

I already imported. Do I have to start over?

Not necessarily. Fix the files on disk, then run the "Extract metadata" job for all assets from the Immich admin page. If the files were uploaded rather than in an external library, you need to re-upload the fixed ones and delete the old copies, because Immich keeps its own copy.

Why are some dates off by a few hours?

Time zone. The EXIF date has no offset, and Immich treats it as UTC or as server time depending on version and settings. Newer versions handle this better. Setting the server time zone to match where most photos were taken helps.

Does Immich read Google's .json sidecars now?

Not directly, as of this writing. It reads XMP sidecars. immich-go reads Google's format and converts on the fly. Check the Immich release notes, since this changes.

Will fixing EXIF change the photo quality?

No. Writing EXIF edits a metadata block. The compressed image is not touched.