digiKam

Professional photo management with advanced metadata tools

Photo Management ★ 1.2k stars Medium setup GPL-2.0

digiKam is a professional-grade photo management application that handles huge collections with face recognition, geotagging, and powerful metadata editing. Its database and albums can be hosted on a shared server for multi-machine access.

Key features

  • Face recognition
  • Geotagging support
  • Advanced metadata editing
  • Handles huge libraries

Pros & cons

Strengths

  • Very feature rich
  • Scales to large collections

Trade-offs

  • Steep learning curve
  • Desktop application only

digiKam replaces

Last reviewed Sep 13, 2026 · 777 words

digiKam runs on your desktop, not on your server, and the self-hosters who get the most out of it stop trying to change that. The pattern that works is a two-tool stack: Immich or PhotoPrism on the server for phone backup, sharing and browsing, and digiKam on a workstation pointed at the same library for the work those tools are bad at, which is serious curation, bulk metadata editing, geotagging and face tagging you control. The rule that makes it work is one setting: write metadata to the files (or XMP sidecars), so what you fix in digiKam is what the server sees.

The Lightroom-shaped hole, filled

digiKam is a KDE application, first released in 2002, that manages collections of hundreds of thousands of images without flinching. It has albums mapped to folders, hierarchical tags, star ratings and colour labels, a face detection and recognition engine that runs locally, a map view with reverse geocoding, a batch queue manager for renaming and converting, and a metadata editor that touches EXIF, IPTC and XMP directly. It does light RAW development but is not a Darktable replacement; its job is organisation. The learning curve is real: the settings dialog alone runs to more than 20 pages, and the first scan of 100,000 files takes hours. Budget an evening.

Four databases, and where to keep them

digiKam keeps four data stores: the core database (albums, tags, metadata index), the thumbnails database, the similarity fingerprints and the face recognition data. The default backend is SQLite, which is fine for one machine. For multi-machine use it supports MySQL and MariaDB, either a bundled internal server or, the interesting option, a remote one. Put MariaDB on your home server, share the photo directory over NFS or SMB, mount it at the same path on every workstation, and each copy of digiKam sees the same albums, tags and faces. That is the closest digiKam gets to being self-hosted, and it works well on a wired LAN. It works badly over WiFi with the thumbnails database remote, so consider keeping thumbnails local per machine, which the settings allow.

The metadata rule

Out of the box, digiKam stores tags, ratings and face names in its database only. Turn on writing metadata to image files (and sidecars for RAW formats), and every tag becomes an XMP keyword, every face region an XMP face tag, every rating an XMP rating, embedded in the file or beside it. Immich and PhotoPrism both read those on import, so a library curated in digiKam surfaces with the same tags and people on the server. It also means your work survives digiKam itself. The cost is that digiKam will rewrite files, so make sure the server side is not also writing metadata to the same files, or you get a tug of war. Let the desktop own metadata; let the server own thumbnails and sharing.

Where to point it

An external library in Immich, or a mounted originals folder in PhotoPrism, is the shape: the server indexes the folder read-only, the phones upload to the server, and digiKam scans the same folder over the network share (or a Syncthing mirror, if the workstation is a laptop that leaves the house). Do not point digiKam at Immich's internal upload directory and start moving files; both tools expect to own their own directory layout. Pick one directory the server treats as external, and do all your moving and renaming there, with digiKam.

Where it does not fit

If you want a single web app your family uses from phones, digiKam is not in the running and should not be; the photos category and the Immich vs PhotoPrism comparison pick that tool. If you shoot RAW and want editing, Darktable is the pairing, and it reads digiKam's XMP sidecars. If the collection is under 10,000 phone photos with no metadata ambitions, Immich alone is enough and digiKam is an evening you do not need to spend.

What I'd do

Immich on the server with the main library mounted as an external library. MariaDB on the same server for digiKam's databases, photo directory on NFS, digiKam on the desktop with metadata written to files and sidecars on. Face tagging and album cleanup happen in digiKam on Sunday evenings; the phones and the family use Immich the rest of the week. It is the only setup I have found that gives you Lightroom-class organisation and a self-hosted, phone-friendly gallery without paying for either or fighting the tools over who owns the files.

Compare digiKam

22 head-to-head comparisons.

Similar photo management apps