Contents8 sections
Both detect and group faces. The difference is what they're built around. Immich does face recognition inside a Google Photos-style app with native phone backup. PhotoPrism detects faces as it indexes a folder library you already keep. Pick Immich to replace Google Photos on your phone; pick PhotoPrism to organise an existing archive on disk.
Quick verdict
| Immich | PhotoPrism | |
|---|---|---|
| Built for | Phone backup and a Google Photos-style timeline | Indexing and browsing an existing folder library |
| Face recognition | Yes; ML container, models swappable (buffalo_l default, buffalo_s lighter) | Yes, in every edition including free Community |
| Mobile | Native Android and iOS apps with backup | PWA plus third-party PhotoSync |
| Multiple users | Yes: each user has own account, plus partner sharing | Community roles: Super Admin, Admin, Guest. User and Viewer roles from Essentials (€2/mo) |
| RAM | 6GB minimum, 8GB recommended | 3GB minimum; RAM should match core count; 4GB swap |
| CPU | 2 cores min, 4 recommended | 2 cores min |
| Database | PostgreSQL (bundled) | MariaDB 10.5.12+ or SQLite |
| GPU acceleration | Optional ML (CUDA, ROCm, OpenVINO, ARM NN, RKNN) and transcoding (NVENC, QSV, RKMPP, VAAPI) | not covered in the sources used |
| Raspberry Pi | arm64 supported; ML "can be too heavy"; no hardware transcoding on Pi | Pi 4 or 5 with 4GB+; ready-made PhotoPrismPi image |
| Licence | AGPL-3.0 | AGPL-3.0 (Community) |
| Paid options | Optional product keys from FUTO | Essentials €2/mo, Plus from €6/mo |
| Latest release | v3.2.4 (28 Sep 2026) | 260919-28c46a116 (19 Sep 2026) |
How face recognition works in each
Immich
Immich runs machine learning in its own container, which handles both facial recognition and smart search. The FAQ describes those as the most CPU-intensive jobs, alongside video transcoding, especially during the first big upload. You can choose the model. The default buffalo_l is the more accurate one. buffalo_s is "smaller and faster… albeit not as good", and switching means re-running face detection across the library.
A GPU is optional. The docs list CUDA (NVIDIA, compute capability 5.2+), ROCm (AMD), OpenVINO (Intel Iris Xe and Arc), ARM NN (Mali only) and RKNN (Rockchip) as backends, and call the feature experimental. You can also run the ML container on a different, stronger machine and keep the main server small. The FAQ suggests exactly that for Raspberry Pi setups.
PhotoPrism
PhotoPrism detects faces during indexing. Its FAQ notes that for RAW, JPEG XL, vector and other non-JPEG formats it first creates a JPEG sidecar, which it needs for thumbnails, image classification and face detection. The setup docs say RAW conversion and TensorFlow are disabled on systems with 1GB of memory or less. Faces are part of the free Community edition, per PhotoPrism's own editions table.
Which is better at it?
Neither project publishes accuracy benchmarks against the other, and this page is a profile, not a hands-on test, so it doesn't rank them. The meaningful difference is the workflow. Immich recognises faces in photos arriving from phones. PhotoPrism recognises faces in the archive you point it at.
Phone backup and families
This is where most people decide. Immich ships native Android and iOS apps from the App Store, Google Play, F-Droid (FUTO) and GitHub. You pick albums to back up, and background backup runs when the operating system allows. Every family member gets their own account, and partner sharing lets two people see each other's libraries.
PhotoPrism's editions table lists "PWA & PhotoSync" as the mobile option on every tier, so uploading from phones goes through a web app or a third-party sync app. For multiple users, the free Community edition has only the Super Admin, Admin and Guest roles. Regular "User" and "Viewer" accounts start with Essentials (€2 a month), and the user-management web UI is in Plus (from €6 a month). A family sharing one server will feel that.
Hardware and Raspberry Pi
PhotoPrism is the lighter of the two on paper: 2 cores, 3GB of RAM and 4GB of swap, against Immich's 6GB minimum. Its Pi guide recommends a Pi 4 or 5 with at least 4GB of RAM and a 64-bit OS, with an SSD over USB 3 for indexing. It also publishes PhotoPrismPi, an image you flash to an SD card and boot. Raspberry Pi OS needs arm_64bit=1 in config.txt, or you'll hit "exec format" errors.
Immich also runs on arm64, but it wants the 8GB or 16GB Pi 5 to keep machine learning on. A 4GB board runs it only with ML disabled, which removes face recognition and smart search entirely. Its docs also say hardware transcoding isn't supported on Raspberry Pi. Pi sizing for both is in the best self-hosted apps for a Raspberry Pi.
Storage, databases and updates
Immich bundles PostgreSQL. The docs want that database on local SSD, "never a network share of any kind", and say it's typically 1–3GB. Thumbnails and transcoded videos add roughly 10–20% to your library. Photo storage needs a Unix filesystem with ownership and permissions. Updates are a docker compose pull, but major versions can break things: v3.0.0 (July 2026) dropped pgvecto.rs and changed API endpoints that third-party tools use.
PhotoPrism works with MariaDB 10.5.12+ or SQLite. It warns that SQLite isn't a good choice if you need scalability and performance, and it has discontinued MySQL 8 support. It recommends pinning the MariaDB image tag rather than using :latest, and upgrading only after PhotoPrism has tested a new major version. Releases use build numbers rather than semantic versions (the current one is 260919-28c46a116). Local SSD storage for the database and cache "benefits greatly" when indexing big collections.
Maps and extras
PhotoPrism's reverse geocoding and interactive maps rely on PhotoPrism's own service and MapTiler. The editions table marks geocoding as rate-limited on Community, with no request limit on paid tiers. Immich lists reverse geocoding (search by city, state and country) and a map view among its features, with no paid tier involved.
Immich vs PhotoPrism vs Nextcloud
If you already run Nextcloud, the third-party Memories app is a third option. It adds a timeline sorted by EXIF date, people and object grouping through the recognize and facerecognition apps, HLS video transcoding, and Google Takeout migration, all on the server you already maintain. It's the least extra work if Nextcloud is already there. It's more moving parts if it isn't. See the Nextcloud profile.
Who should pick which
Pick Immich if:
- you want to replace Google Photos or iCloud on your phones
- several people in the house need their own accounts, for free
- you have 8GB of RAM or more to give it
Pick PhotoPrism if:
- you already have a curated folder archive and want to browse and search it
- you're on a 4GB Pi and still want face recognition
- one admin account (plus guests) is enough, or you're happy to pay for Essentials
Moving off Google first? The migration steps are in self-hosted Google Photos alternatives, and the full Immich requirements are in the Immich profile.
Sources (13)ShowHide
- Immich: Requirements · accessed 2026-09-29
- Immich: Features · accessed 2026-09-29
- Immich: FAQ · accessed 2026-09-29
- Immich: Hardware-Accelerated Machine Learning · accessed 2026-09-29
- Immich: Hardware Transcoding · accessed 2026-09-29
- Immich: Quick start (mobile apps) · accessed 2026-09-29
- PhotoPrism: Setup and system requirements · accessed 2026-09-29
- PhotoPrism: Getting Started FAQ · accessed 2026-09-29
- PhotoPrism: Running on a Raspberry Pi · accessed 2026-09-29
- PhotoPrism: Pricing & Editions (feature table) · accessed 2026-09-29
- GitHub releases API: immich-app/immich and photoprism/photoprism · accessed 2026-09-29
- Licence files: immich-app/immich and photoprism/photoprism (both AGPL-3.0) · accessed 2026-09-29
- Memories: photo management for Nextcloud · accessed 2026-09-29