Replies: 136 comments 283 replies
-
|
Can we also ask people to include their .env with the TZ variable and the output of |
Beta Was this translation helpful? Give feedback.
-
|
Adding my old issue #9331 to here ... (no need to duplicate info, right?)
|
Beta Was this translation helpful? Give feedback.
-
|
Hi, I also have a lot of photos misplaced in my timeline. Those photos are old photos from external libraries. Some photos from Google Takeout does not have any useful metadata. IMG_20130913_081540.JPG: PANO_20170416_105856.jpg: Metadata: CameraZOOM-20150715115510237.jpg: IMG_20151222_135145.vr.jpg: |
Beta Was this translation helpful? Give feedback.
-
|
Immich v1.111.0 Hey, I am having issues with the location data. I made the switch to immich by exporting 20k photos from Apple Photos to a directory, then imported them into Immich at a later date. The issus is that some photos, mainly ones taking in the USA in my case, are showing up in China or the middle of the ocean. I have found that the longitude is being calculated incorrectly, it is positive in Immich, when it should be a negative value. Flipping longitude to negative fixes location. Original Coordinates: Immich's Coordinates after import I did search for the issue but couldn't find anyone else reporting it |
Beta Was this translation helpful? Give feedback.
-
|
Sony dslr-a550 a zip of your file: DSC09740.ZIP |
Beta Was this translation helpful? Give feedback.
-
|
i have this problem as well, shooting photos with my GRIIIx. i think the reason is that i keep any sort of GPS tagging turned off, and the photos coming out of the camera do not have time zone info. my photos make it into immich via an external library. i would like to keep both the camera and the server in UTC and then have the photos display in the correct timezone for the users browser. |
Beta Was this translation helpful? Give feedback.
-
|
as requested, posting my experience over here as well. Immich displays a lot of my images and videos in the wrong date in the timeline, and in the incorrect timezone. for example: this also happens with most videos: My server is running in PST timezone, photos were taken in PST timezone, browser is in the PST timezone, and i have the TZ variable set in my environment variables on the server: Attaching both a zip of the video: and the image: |
Beta Was this translation helpful? Give feedback.
This comment was marked as off-topic.
This comment was marked as off-topic.
-
|
me too..... |
Beta Was this translation helpful? Give feedback.
This comment was marked as off-topic.
This comment was marked as off-topic.
-
|
Moved a lot of photos out of Apple Photos, and kept the EXIF data intact, but a bunch of them showing up with the wrong date, but you can see the metadata right in immich, so not sure why it shows up like this. Expected date is listed, just not sure where the first date is coming from or why immich cares about it? |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
|
ok, i'm now having more bizarre behavior. here's a zip with photos the end result in my timeline is that 1975 is totally correct. it appears under however -- 1990 appears under i refreshed metadata for all images taken that weekend after installing the update. i expect to see both these photos appearing under saturday sept 28th, with 1990 appearing above 1975. separately, i'm not sure where the timeline of |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
This comment was marked as off-topic.
This comment was marked as off-topic.
-
|
TZ field in .env is not used in sorting photos for the mobile or desktop app. The 3264x2448 photo was taken with OpenCamera (which has always been a mess), the 4000x3000 photo was taken with the default Camera app. As shown on the device make and model column, enormous swathes of my current photo library are potentially affected. Valid dates, times, and orders from v1.143.0 are grandfathered in until you decide to edit metadata (such as when I enhance a blurry photo with ESRGAN). Using the first photo as an example, expected date based on old behavior: (second one not ideal, but at least it shows up in the right order) Actual behavior: Somewhere along the line, the .env timezone stopped working for its intended use. I have read the documentation and this seems to be accidental. The OS that Immich Server is running ondocker desktop on Windows 10 LTSC Version of Immich Server & Mobile Appv2.4.1 Platform with the issue
Camera makes and modelNon geotagged Fairphone 4 Android 16, Samsung Galaxy A11, iPhone 6 (iCloud link), some Google Photos downloads, photorec recovered photos, basically everything before 2015 Your docker-compose.yml content#
# WARNING: To install Immich, follow our guide: https://immich.app/docs/install/docker-compose
#
# Make sure to use the docker-compose.yml of the current release:
#
# https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
#
# The compose file on main may not be compatible with the latest release.
name: immich
services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
# extends:
# file: hwaccel.transcoding.yml
# service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
volumes:
# Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file
- ${UPLOAD_LOCATION}:/data/upload
- ${LIBRARY_LOCATION}:/data/library
- ${THUMB_LOCATION}:/data/thumbs
- ${ENCODED_VIDEO_LOCATION}:/data/encoded-video
- ${PROFILE_LOCATION}:/data/profile
- ${BACKUP_LOCATION}:/data/backups
- /etc/localtime:/etc/localtime:ro
- "_____HARD_DRIVE_PHONE_PICS_____:/files/phonepics:rw"
- "_____HARD_DRIVE_READ_ONLY_____:/files/hddpics:ro"
env_file:
- .env
ports:
- '2283:2283'
depends_on:
- redis
- database
restart: always
healthcheck:
disable: false
immich-machine-learning:
#irrelavant
redis:
container_name: immich_redis
image: docker.io/valkey/valkey:8-bookworm@sha256:fea8b3e67b15729d4bb70589eb03367bab9ad1ee89c876f54327fc7c6e618571
healthcheck:
test: redis-cli ping || exit 1
restart: always
database:
container_name: immich_postgres
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:8d292bdb796aa58bbbaa47fe971c8516f6f57d6a47e7172e62754feb6ed4e7b0
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_DB: ${DB_DATABASE_NAME}
POSTGRES_INITDB_ARGS: '--data-checksums'
# Uncomment the DB_STORAGE_TYPE: 'HDD' var if your database isn't stored on SSDs
# DB_STORAGE_TYPE: 'HDD'
volumes:
# Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file
- ${DB_DATA_LOCATION}:/var/lib/postgresql/data
shm_size: 128mb
restart: always
volumes:
model-cache:Your .env content# You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables
# The location where your uploaded files are stored
UPLOAD_LOCATION=_____HARD_DRIVE_PHONE_PICS_____
THUMB_LOCATION=___SSD___
ENCODED_VIDEO_LOCATION=___SSD___
PROFILE_LOCATION=___SSD___
BACKUP_LOCATION=___SSD___
LIBRARY_LOCATION=_____HARD_DRIVE_PHONE_PICS_____
# The location where your database files are stored. Network shares are not supported for the database
DB_DATA_LOCATION=___SSD___
# To set a timezone, uncomment the next line and change Etc/UTC to a TZ identifier from this list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List
TZ=___SET_TO_WHERE_I_LIVE___
# The Immich version to use. You can pin this to a specific version like "v1.71.0"
IMMICH_VERSION=release
# Connection secret for postgres. You should change it to a random password
# Please use only the characters `A-Za-z0-9`, without special characters or spaces
DB_PASSWORD=__________
# The values below this line do not need to be changed
###################################################################################
DB_USERNAME=_______
DB_DATABASE_NAME=________
DB_HOST=________Reproduction steps
Relevant log outputAdditional informationI struggled with whether to include this as a feature request or a bug report. I decided to do both. I will be making a feature request for a complete overhaul of time zone determination. For now, though, a core part of the timeline functionality of Immich has been broken, and I believe it was done so unintentionally. I would try to fix it soon. Cheers! |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
|
Cheers everyone, I have severely annoying issues with the sorting of images: I backed up images from my iPhone (there, in the Photos app, all images are sorted neatly according to what equals the "Create Date"). In immich, they are sorted differently (i.e. images with timezone are shifted wrt. the images without timezone information). The images are from multiple sources (iPhone, "normal" camera) and some have timezone information, others don't. I manually stripped all timezone / gps time information from an example file and re-ran the "refresh metadata", assuming that timezone information would be stripped from the immich-stored metadata but without success. What is also weird, is that the image files themselves do not store any timezone information from which the data that immich stores could be inferred. I assume it got plugged on top of the metadata by the iPhone backup?!? long story short:
kindly, |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
|
I have been experiencing this issue with timezone/date. |
Beta Was this translation helpful? Give feedback.
-
|
Just updated to 2.5.5 on Server and Android App (Fairphone 4 with GPS disabled, so no full TZ info written to exif) and still facing the same issue. Just tested with sync disabled in the Android App. The photos are correctly tagged as |
Beta Was this translation helpful? Give feedback.
-
|
I have a timezone issue which I don't see documented there. I have the same video file in an mp4 container with very complete metadata including all timezone information, and even location data. When uploaded using the web interface, the file displays with the correct time and displays correctly in the timeline. When this byte-indentical image is added via external libraries, the modification date is preferred. I have absolutely no clue why. Date/Time Original is usually the exif field that should be preferred for such things in order to accommodate for edited videos, edited photos, or even film scans. When I edit the time of the file in the web interface, the date and time listed change, but the position inside the timeline do not. I have seen others document this issue. The external library is not read only. The exif is as follows: |
Beta Was this translation helpful? Give feedback.
-
|
This should show 9th February 2026 16:14 but it’s showing 08:14 in Immich. |
Beta Was this translation helpful? Give feedback.
-
|
When uploading to Immich via the Android client or web interface, the server apparently incorrectly interprets the item's timezone. This only seems to happen for items which do not have their own EXIF data - ie. ostensibly anything that was not taken with an actual camera: screenshots, most image downloads from the internet etc. The result is that items are sorted incorrectly on the timeline in the client UI, and also display a different timezone in the info section on the UI, compared to assets this issue does not occur on. All clients I am uploading from have a consistent and correct time & timezone: The item, when initially detected by the Immich app, shows the correct timezone in the UI briefly before it is uploaded to the server. As soon as it is uploaded to the server, its timezone gets messed up or disregarded somehow and as a result it gets stored with a very different datetime than it should. I believe this is an actual import/parsing issue occurring when the server first processes the asset. In the example below, the row outlined in red (ID:
You will notice here by the way that both items above have Regardless: the fact that only one of these values has been converted to local time and the other hasn't, suggests to me that the cause of this issue has something to do with that column's value being set incorrectly in initial processing. Both assets attached in ZIP. I have renamed them to reflect the above UUIDs and to make it clearer which one is the problematic one. Environment details:
|
Beta Was this translation helpful? Give feedback.
-
|
I just uploaded pictures from a camera and realized it showed up in a random timezone after upload. The server timezone is CET (UTC+1 right now) and i checked inside docker to be sure it is CET too.
The timezone and time is correct on the camera. (Europe/Paris) But when uploaded to immich it shows UTC-4 We can see that no timezone is available for the "Time Stamp" nor "Time Original" only for the file access |
Beta Was this translation helpful? Give feedback.
-
|
2 Photos i took within minutes with the same phone are sorted in the wrong order: 2 Files: expected dates: ...which is correct, however, the images are sorted in the wrong order. shouldn't an image with no TZ information be treated as local time, i.e. +1 in my case? |
Beta Was this translation helpful? Give feedback.
-
|
I originally made a pretty convoluted post that got buried without reply but eventually figured the issue out myself, then i made i bug report where i was referred back here, hence this post. File: Expected Date: TZ in .env: Explanation: I would be happy about any feedback, and be it wontfix or that it's not a priority because admittedly the case is a bit exotic |
Beta Was this translation helpful? Give feedback.
-
|
Yet another report for probably the same issue as the few ones above. I did a docker exec to immich_server and immich_machine_learning and verified that the timezone is properly set the same: (that is correct currently in Winter for Europe/Paris, we are in CET = UTC+1, then we'll later go to CEST = UTC+2) Almost all my devices (smartphone, camera, action cam) save the time in the "current location natural time", without specifying the new EXIF tag OffsetTime, OffsetTimeOriginal, OffsetTimeDigitized. Now Immich show it as Sep. 08 2020 at 17:19:28 UTC. Clicking on the set icon displays Africa/Abidjan (+00:00). Immich is clearly not using the TZ variable to apply it to pictures that doesn't have an explicit timezone set. The described behaviour above is exactly what we should have, and this is exactly what Exiftool does. I'm using now exiftool inside a Perl script, set format to "YYYYMMDD_HHMMSSz" (notice the z at the end), set the TZ and make a getValue for the CreateDate, it will return 20200908_171928+02:00. Exiftool is determining the timezone from the environment, despite the EXIF not containing the offset value in the dedicated tag, it is adding the correct one automatically. I think this is really a very common situation (if not "the most common"), I know very few devices that put the Offset tag, also most people are on a different timezone than UTC, so this must impact almost everyone. It is strange that this issue is still present? @jrasm91 WDYT? |
Beta Was this translation helpful? Give feedback.
-
|
Wow... latest problem is totally random, some times it likes the GMT offset from the camera (open camera on lineageos) and some times the GMT offset is just simply missing. firmly scrambling my day time timelines. This is worse than it's ever been. |
Beta Was this translation helpful? Give feedback.
-
|
Well ... while I still agree with all of you, the fact is that if our assets had the right EXIF tags embedded, there would be no need for applying any fix/workaround. As per the EXIF 2.31 specs (released in 2013):
On one hand it would be good if Immich devs could fix the use of the TZ variable, as this fit for a vast majority of users, having their assets belonging to their own timezone. On the other hand, I finally decided that in the meantime I would cleanup and fix my assets, as I have many images that are from other timezones and would a real correction anyway. I initially started by writing a small program that would neatly rename my images and videos according to the YYYYMMDD_HHMMSS pattern. I then modified it so that it would also create an XMP sidecar file containing the FileModifyDate. I was able to verify that this was sufficient to fix the timeline in Immich. However, I later realized that Immich’s XMP handling isn’t perfect (it rescans all media; you need to run a discovery first, etc.). Eventually, step by step, I decided to properly re-tag my images and videos by completely rewriting my script so that it handles full extraction, logging, re-tagging, renaming, and touching of files. I published it here: Sample execution: Disclaimer: Backup your library before testing/using this script !! I'm not responsible of data loss !! Use the dry-run mode (default), check the result, use the -verbose parameter mode if something look strange. |
Beta Was this translation helpful? Give feedback.





























Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
As everyone should know by now, photo and video metadata is a bit of a mess. On top of that, we're also now talking about timezones. Long story short, we know there will always be room for improvement in this area.
If you have an issue with:
Please post a comment in this discussion with the following, and we will happily investigate the issue.
EDIT: if you don't post the three points mentioned above, you're comment will simply be marked as off topic and hidden.
Beta Was this translation helpful? Give feedback.
All reactions