Personal Photo Management powered by Go and Google TensorFlow
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Michael Mayer daab99015a TensorFlow: Improve panic log messages #1270 1 day ago
.github/workflows Create codeql-analysis.yml (#1243) 3 days ago
assets Update German translations 6 days ago
cmd/photoprism Add cleanup command that removes orphaned thumbnails and index entries 3 months ago
docker Config: Update docker-compose.yml examples 1 week ago
frontend Frontend: Upgrade karma to 6.3.2 2 days ago
internal TensorFlow: Improve panic log messages #1270 1 day ago
pkg Metadata: Allow single quotes in keywords #1196 2 days ago
scripts Docker: Build images with BuildKit 2 weeks ago
.dockerignore Simplify configuration #66 11 months ago
.drone.yml CI: Sign drone.yml 3 months ago
.fossa.yml Add FOSSA license notice and config file 1 year ago
.gitignore Update gitignore for static assets (#854) 3 months ago Update 3 months ago
Dockerfile Docker: Upgrade photoprism/development base image 2 weeks ago
FUNDING.yml Docs: Update, FUNDING.yml, and 4 months ago
LICENSE Update trademark 7 months ago
Makefile Update Makefile 6 days ago
NOTICE Backend: Remove allegro/bigcache in favor of patrickmn/go-cache #807 3 months ago Update 2 months ago Docs: Shorten #570 2 months ago
codecov.yml Codecov: Disable commit status on GitHub 1 year ago
docker-compose.drone.yml Config: Update docker-compose.yml examples 3 months ago
docker-compose.postgres.yml Config: Update docker-compose.yml examples 3 months ago
docker-compose.yml Docker: Use variables to set UID & GID in development environments 3 months ago
go.mod TensorFlow: Add panic handlers #1270 1 day ago
go.sum TensorFlow: Add panic handlers #1270 1 day ago

PhotoPrism: Browse Your Life in Pictures

License: AGPL Code Quality Build Status GitHub contributors Documentation Community Chat Twitter

PhotoPrism® is a privately hosted app for browsing, organizing, and sharing your photo collection. It makes use of the latest technologies to tag and find pictures automatically without getting in your way. Say goodbye to solutions that force you to upload your visual memories to the cloud!

To get a first impression, you're welcome to play with our public demo at

Key Features

  • Our intuitive user interface makes browsing and organizing your photo collection as easy as it should be — whether it’s on a phone, tablet, or desktop computer.
  • Index everything without worrying about duplicates or RAW to JPEG conversion.
  • Automatic image classification based on Google TensorFlow. In addition, our indexer detects colors, chroma, luminance, quality, panoramic projection, location type, and many other properties.
  • Includes four high-resolution world maps to see where you've been, and for rediscovering long-forgotten shots.
  • WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, may connect directly to PhotoPrism so that you to can open, edit, and delete files from your computer or phone as if they were local. You may easily sync your pictures with PhotoSync as well.
  • Because PhotoPrism is built as a progressive web app, it provides a native app-like experience, and you may install it on your home screen. There's also a community-maintained native app in development.

Getting Started

Step-by-step installation instructions for our self-hosted community edition can be found on - all you need is a Web browser and Docker to run the server. It is available for Mac, Linux, and Windows.

We recommend hosting PhotoPrism on a server with at least 2 cores and 4 GB of memory. Beyond these minimum requirements, the amount of RAM should match the number of cores. Indexing large photo and video collections significantly benefits from fast, local SSD storage.


Our vision is to provide the most user-friendly solution for browsing, organizing, and sharing your photo collection. The roadmap shows what tasks are in progress, what needs testing, and which feature requests are going to be implemented next.

Please give ideas you like a thumbs-up 👍 , so that we know what is most popular. Ideas backed by one or more eligible sponsors will be prioritized as well.


We welcome contributions of any kind. If you have a bug or an idea, read our guide before opening an issue. Issues labeled help wanted / easy can be good (first) contributions.

Follow us on Twitter to receive regular project updates and discuss development related topics. Don't be afraid to ask stupid questions.


You're welcome to support us via GitHub Sponsors, especially if you have feature requests1 or need help with using our software. In addition, you can find us on Patreon and PayPal. We've also set up crypto wallets for Bitcoin, Monero, and Dogecoin.2

Your continuous support helps...

  • pay for operating expenses and external services like satellite maps
  • developing new features and keeping them free for everyone 🌈

Also, please leave a star on GitHub if you like this project. It provides additional motivation to keep going.

Thank you very much! <3

1 Ideas backed by one or more eligible sponsors are marked with a golden label. Let us know if we mistakenly label an idea as unfunded.

2 Our entire infrastructure runs on certified renewable energy. We don't engage in mining or trading.


PhotoPrism® is a registered trademark of Michael Mayer. You may use it as required to describe our software, run your server, for educational purposes, but not for offering commercial goods, products, or services without prior written permission. In other words, please ask.