r/immich

Immich Exif : Write your Immich metadata back into the photo files
▲ 116 r/immich

Immich Exif : Write your Immich metadata back into the photo files

Hello everyone!

I'm the guy behind Immich Stack, Immich Places and Findich (yes, me again, and all apps compatible with V3!)

When I released Immich Places, several of you asked the same thing: "nice, but can this go into the files themselves?". I said it would be my next project, so here it is!

Everything you fix in Immich (locations, dates, ratings, descriptions) lives in the Immich database, not in your photos. Export a photo, open it in Lightroom, or migrate to another tool in 10 years: all of it is gone.

So I built Immich Exif, a CLI tool that downloads each asset, embeds the missing metadata directly into the file with exiftool, and replaces the asset on your server.

What it does:

  • Writes GPS, city/state/country, dates (with the correct timezone), ratings, descriptions and camera info into the standard EXIF/XMP/IPTC tags
  • Shows you a diff for each photo before touching anything (confirm/skip/quit), or run it unattended with -y
  • Keeps your albums, favorites, shared links, stacks and live photo pairs intact
  • Photos and videos (mp4/mov/m4v)
  • Already-synced assets are skipped, so you can re-run it (or cron it) on a big library
  • Works with Immich v3 and older versions
  • As all files needs to be downloaded, edited and reuploaded, it's a slow process (depends on your internet speed). Start with small albums to dry-run/test and see how it runs :)

About safety, because editing, patching, removing might be a destructive action:

  • -dry-run shows every change and writes nothing
  • Downloads AND re-uploads are checksum-verified before the original is touched
  • The replaced original always goes to the Immich trash, never permanently deleted
  • Anything unexpected (duplicate, mid-run edit on the server, missing checksum) makes it stop to prevent destruction
  • I tested it on my 30k library without issues, but we never know, so keep backups

But as always, please start with -dry-run, and as always, keep backups, KEEP BACKUPS!

Fast setup:

Prebuilt binary (you just need exiftool, brew install exiftool on macOS, apt install libimage-exiftool-perl on Debian/Ubuntu). Grab it from the releases page, then:

export IMMICH_URL=https://your-immich-server.com
export IMMICH_API_KEY=your-api-key

immich-exif -dry-run <asset-id>       # preview one photo, writes nothing
immich-exif -album <album-id>         # one album, interactive (confirm/skip each photo)
immich-exif -y -workers 4 -all        # the whole library, unattended

Or build from source (Go 1.24+):

git clone https://github.com/Majorfi/immich-exif
cd immich-exif/src && go build -o immich-exif .

Or with docker (bundles exiftool):

docker run --rm \
  -e IMMICH_URL=https://your-immich-server.com \
  -e IMMICH_API_KEY=your-api-key \
  ghcr.io/majorfi/immich-exif:latest -dry-run <asset-id>

A .env file in the working directory works too. You can see all the flags available in the readme in the repo.

Disclaimers: I'm not affiliated with the Immich team, so this is just a community tool. As always, I provide it as-is, and I'll keep an eye on issues and fix what I can. You should always keep backups, and use it at your own risk. AI was used for documentation, drafting, and review.

GitHub: https://github.com/Majorfi/immich-exif
Release: https://github.com/Majorfi/immich-exif/releases
Website: https://immich.quub.tech/exif
Sponsoring: https://github.com/sponsors/Majorfi

Thanks everyone and happy to answer questions!

And do a backup

github.com
u/Obvious-Interest-845 — 9 hours ago
▲ 1 r/immich

How to delete files on server that are now deleted on local?

I want the synchronization direction to be only: local ---> server.

So, how to delete files on server that are now deleted on local?

reddit.com
u/frekage — 2 hours ago
▲ 2 r/immich

Remote access

Hi All

Love Immich but lots of people use Tailscale which works great. But I want friends and family to have a Immich account. But these are. In technical people

How do manage remote access, where people have their own Immich accounts without opening g ports etc ?

reddit.com
u/Ashamed-Mood-2138 — 9 hours ago
▲ 56 r/immich

smooth upgrade to 3.0.1

I realize not everyone has a great experience with an upgrade. But I just wanted to offer a shout-out ot the folks who work on Immich, as mine from 2.x to 3.0.1 has been great. Zero issues with any changes; just new capabilities are available.

So, instead of the usual comments, I just want to say "thank you".

reddit.com
u/_XitLiteNtrNite_ — 15 hours ago
▲ 18 r/immich

Integrity Report has results, now what?

I was reading Immich 3.0 patch notes and saw this feature. Went and checked and seems there are “issues” for me, but what do I do with these results?

It seems like the only option for the results are to delete I assume the remnant/bad file? Is there any “fixing” this or is the only thing that can be done is to delete the problem files?

Whats strange is, I don’t perceive any issues at least with my photos/videos but I do have another user who’s content I cant see myself.

So, basically what I am asking is what course of action if any should I take with these results?

EDIT: Oh dear lord, is there only delete individual or delete all??? There’s no way to batch delete some of the entries?

Some of the 1,000 and some of the ~250 files are thumbnails which I feel comfortable just deleting. Some are video/picutres and I will need to spend more time looking at 1 by 1 and evaluating if they are safe to remove.

It looks right now like the only way to do this would be deleting files 1 by 1 since I don’t wana delete them all.

u/Zer0CoolXI — 12 hours ago
▲ 2 r/immich

Can't upgrade to v3 because my processor is too old for ML now :(

I was trying to keep my old AMD Phenom II out of the ewaste using it as a home server. The bump in numpy version means it needs x86-64-v2 instruction set, which the processor doesn't supply.

Womp womp.

reddit.com
u/argentcorvid — 15 hours ago
▲ 1 r/immich

Is there a way to tell how much longer this will take? It’s been going on for like 4 nights and my hdd hits 215 MB/s in reads.

u/v-a-g — 14 hours ago
▲ 30 r/immich+1 crossposts

immich as default app on android and ios!!! posible ?

Hey everyone,

If you are like me, you probably love using Immich. It’s an incredible, self-hosted, open-source photo management system, and it runs beautifully. Naturally, you’d want to set it as your absolute default photo gallery app so that every time you click a photo shortcut or open a media picker, Immich is right there handling your memories.

Well, here is the frustrating truth: you can't.

As of right now, it is completely impossible to set Immich as your system-wide default photo app on either Android or iOS.

I know, it’s incredibly disappointing. Both Google and Apple have locked down their operating systems so tightly that they don't even provide an option for users to change the default media gallery. You are forced to keep their native, cloud-dependent apps as the core infrastructure, leaving amazing community-driven alternatives like Immich somewhat sidelined in daily system workflows. It’s a massive roadblock for digital privacy, self-hosting, and user freedom.

But we don’t have to just sit here and accept it. If enough of us make our voices heard—just think about what is possible with our 58,000 members compared to the 51,000 members over at r/googlephotos and the 16,000 at r/applephotos—we can push both tech giants to change this policy.

Both companies have official channels where developers and users can request features and report issues. If thousands of Immich users flood these platforms with a simple request to allow custom default gallery apps, they will have to notice.

Here is what we can do right now with just a basic Google or Apple account:

  • For Android Users: Head over to the Android Issue Tracker (https://issuetracker.google.com/home) (Google's official platform for platform feature requests). Create a feature request asking for an option to set a custom default gallery app under the "Default Apps" settings.
  • For iOS Users: Use Apple's Feedback Assistant(https://developer.apple.com/feedback-assistant/) (available via their website or the native app) to submit an official request demanding the freedom to change the default photo handler, just like we can now do with web browsers and mail clients.

Immich is backed by an incredibly passionate community, and both Google and Apple claim to respect open-source efforts and user preferences. Let's pressure them to prove it. Take five minutes out of your day to submit a quick ticket or upvote existing ones on the Android Issue Tracker and Feedback Assistant.

Let's make our self-hosted setups seamless!

reddit.com
u/timo22_04 — 22 hours ago
▲ 1 r/immich

Immich poorly optimized for HDDs?

I just spun up Immich, and have spent the better part of last week moving to Immich from Synology Photos as my secondary backup. I'm still using Google Photos as my daily driver for now.

This is my Setup:

  • Docker - Immich API Server - 2 GB
  • Docker - Immich Microservice / Job Server - 6 GB
    • Access to Nvidia GPU
  • Docker - Postgres - 2GB
  • Docker - Redis - 512 MB
  • Storage
    • Synology Nas Network Drive (Synology Raid spinning HDD)
    • Thumbnails on SSD

I assumed my setup would be somewhat optimal, but the job system crawls to a halt because of the random disk access of the spinning HDD Raid. I solved this by pausing all jobs, and then running one set of jobs at a time. Very manual. It seems like the job system is severely unoptimized for running with spinning HDDs.

Questions:

  1. Is this a common problem in the Immich community?
  2. Are there any solutions outside of pausing jobs and running different parts manually?
reddit.com
u/Lost_Fox__ — 1 day ago
▲ 6 r/immich

Android Widget no longer works. Removed widget and rebooted phone and replaced Widget - just says loading

Version 3.0.1 of the Android app and the Widget (memories or, random) no longer display. I have tried force stopping the app and removing / adding the widget. Just says "loading". Doesn't matter if I am on my home WiFi or, away.

The memories show up in the App, just not on the widget.

reddit.com
u/usafle — 18 hours ago
▲ 41 r/immich

Finally upgraded V3.0.1.

I was afraid to update as i am not a software guy just a normie who like these stuff. But here we go....

u/rangoon54 — 1 day ago
▲ 75 r/immich

Upgrade was smooth as normal

Had recent backups. Read the notes on changes from 2.7 to 3.01. Updated power tools first. Updated Immich next. Voilà, on 3.01. Took longer to read the notes than to do the update.

Understandably, this sub is for helping people with problems, but for someone like me, running Immich in a Ubuntu server vm on a proxmox host, with an external SSD, the upgrade process worked very well. Just saying.

reddit.com
u/WhatsMyNameWade — 1 day ago
▲ 26 r/immich

Raspberry Pi Picture Frame - updated with V3 support

I posted my hobby project a few weeks ago - Original Post, and received a lot of valuable feedback from you all, both here and on GitHub.

I've been working on implementing most of the feature requests, and I also reworked the Immich sync mechanism to support Immich V3.

What's new since my last post:

  • side-by-side display for portrait photos (or landscape photos in portrait screen orientation)
  • improved animation performance
  • manual ordering for locally uploaded photos
  • option to hide the clock, making it possible to display only photos without any overlay
  • screen rotation options (90°, 180°, 270°)
  • support for Immich V3

Some highlights of the original features:

  • displays a slideshow on the screen (with a fade-in/out effect, even on the original Pi Zero W)
  • shows the clock, date, weather from OWM, and sensor data from your own Bluetooth or MQTT sensors
  • turns off the screen when your motion sensor reports no motion for a configurable period
  • supports local image uploads or a shared Immich album (just point it at a share link and it stays in sync)
  • works with Home Assistant over MQTT with auto-discovery: you can control the screen and exchange sensor data in both directions
  • Wi-Fi handling with a fallback AP mode and a captive portal

If you have any feedback, please share it with me in the comments or on GitHub!

Docs: https://pictureframe.ekemate.hu/

u/Mate_Eke — 20 hours ago
▲ 0 r/immich

Which version should I update to first?

Hello. I am currently on release 2.7.4 on PC via Docker. What should I be upgrading to first? Do I directly update to 3.0.1? Or are there any breaking updates? I saw RC releases. Are those necessary to upgrade to? Or do I jump from one stable release to another?

UPDATE: Went from 2.7 > 3.0.0 > 3.0.1. No problem.

reddit.com
u/avitron007 — 1 day ago
▲ 1 r/immich

since 3.0 my people page does no longer show all the 1 face people

since 3.0 my people page does no longer show all the 1 face people even if the setting for minimum faces is still set to 1
did i miss some new feature?

reddit.com
u/ASD_AuZ — 22 hours ago
▲ 129 r/immich

Very happy with v3

After finding it under EXPLORE, i legit almost shed a tear when I saw the Recently Added option.

HUGE Thanks immich team!

u/rudedog71 — 2 days ago
▲ 0 r/immich

Updating to v3 on ZimaBoard

Hi everyone,

I have Immich running on ZimaOS, and until the latest update (2.7.5), I would go into the Immich settings and change the tag on the Machine Learning and Server pages. I would simply enter the latest version number as the tag, and Immich would update itself and restart.

Now with v3, can I do the same thing? Just by changing the tag?

Thanks.

reddit.com
u/GioRoss3000 — 1 day ago
▲ 7 r/immich+1 crossposts

Announcement: MirrorImmich is now compatible with Immich 3.0

What is FlowLogix MirrorImmich? It's a macOS Photos -> Immich sync tool.

FlowLogix MirrorImmich extracts title, description, keywords / tags, GPS location and album information created in Apple macOS Photos and creates a directory that includes symlinks to photos and their extracted metadata in sidecar .xmp files.

This directory can then be rsync’d to Immich external library.

Features

  • Creates a directory structure to be used as an external library in Immich.
  • Exports titles, descriptions, GPS location, and keywords / tags.
    • Note: Appends titles and descriptions, since Immich only has one description field.
  • Generates .xmp sidecar files.
  • Exports edited photos, if they are edited.
  • Creates albums in Immich based on Apple Photos albums.
  • Marks favorites in Immich based on Apple Photos favorites.

Edit: I was asked for some links:

Official Web Site

MirrorImmich on GitHub

reddit.com
u/lprimak — 1 day ago
▲ 21 r/immich

Updated Immich from 2.latest to 3.0.1 on Unraid

More than happy that the upgrade from v2.x to 3.0.1 went butter smooth!

I did have to change the repo for my postgress 16 from tensorchord/pgvecto-rs:pg16-v0.2.0 to ghcr.io/immich-app/postgres:16-vectorchord0.3.0-pgvectors0.3.0

The startup of immich took around 2 minutes where the logs prompted it's migrating, and doing stuff. After this I was able to reach the WebGUI again

My Immich lib is around 1m images and around 300k vids (all from my family phones/tablets over the years). All my files are stored on a external QNAP NAS and I mount that location as ReadOnly NFS Export on my Unraid-Immich machine.

Hope this helps anyone!

u/ancorp — 1 day ago
▲ 2 r/immich

ZimaOS issue

I have Immich (currently 2.7.5) on my ZimaOS server, and even though I update the tag to either latest or v3.0.1 it stays stuck at 2.7.5. I can't seem to get it to update. I tried editing my docker compose and changing where the image came from to match what I saw on the immich github, but that broke things and I had to switch to the backup compose.

reddit.com
u/OmegaRa — 1 day ago