Overview
In my quest to reduce my reliance upon proprietary software applications, I’ve begun to focus some more time in finding a good Google Photos or Apple Photos alternative. As began looking at the alternatives, I discovered that there were way more options that I had originally anticipated. Each alternative had a different feature set and I found it difficult to compare the different options. To solve this dilemma for myself (and hopefully for many others), I’m compiling a list of free and open source photo libraries that can be self-hosted or run locally without any need for cloud services.
Google/Apple Photos Alternatives
My alternative comparison list looks like the following (Be sure to visit the github repository for the most up to date comparison.
** This page was last updated on 2023-06-05
Free and OpenSource Photo Libraries
There are many great free and open-source alternatives to paid photo libraries. This project aims to track and compare the feature set between the many different options with a focus on ‘Gratis’ (free as in free beer) open source photo libraries. ‘Libre’ (free as in free speech) projects are also welcome, but will likely need to be submitted via a pull request since the time in testing each different project is significant.
Comparison
✅ = Feature exists in at least a limited fashion
🚧 = Feature may exist but may not be practical or officially released
❌ = Feature does not yet exist
#️⃣ = Subjective measure of feature quality (on scale of 0-10)
Tip: Hover over icons for missing/incomplete features for more information (link to repository issue, etc)
Feature | Damselfly | HomeGallery | Immich | Librephotos | Lychee | Nextcloud Photos | Nextcloud Memories | Photonix | Photofield | PiGallery2 | Photoprism | Photoview | Piwigo |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Github Stars | |||||||||||||
Active Contributors | 1 | 1 | 4 | 2 | 3 | 3 | 1 | 1 | 1 | 1 | 4 | 1 | 3 |
Source Language | C# | JavaScript / TypeScript | Dart / TypeScript | Python | PHP | JavaScript | PHP / Vue | Python | Go / Vue | TypeScript | Go | Typescript / Go | PHP |
License | |||||||||||||
Demo | ❌ | ✅6️⃣ | ✅6️⃣ | ✅5️⃣ | ✅4️⃣ | ✅4️⃣ | ✅8️⃣ | ✅8️⃣ | ✅6️⃣ | ✅8️⃣ | ✅9️⃣ | ✅9️⃣ | ✅9️⃣ |
Freeness | ✅🔟 | ✅🔟 | ✅🔟 | ✅🔟 | ✅🔟 | ✅🔟 | ✅🔟 | ✅🔟 | ✅🔟 | ✅🔟 | 🚧7️⃣ | ✅🔟 | ✅🔟 |
Automatic Mobile Upload | ❌ | ❌ | ✅7️⃣ | ❌ | ❌ | ✅7️⃣ | ✅7️⃣ | ❌ | ❌ | ❌ | ✅6️⃣ | ❌ | ✅7️⃣ |
Web App | ✅8️⃣ | ✅8️⃣ | ✅8️⃣ | ✅8️⃣ | ✅8️⃣ | ✅7️⃣ | ✅9️⃣ | ✅7️⃣ | ✅9️⃣ | ✅7️⃣ | ✅7️⃣ | ✅8️⃣ | ✅8️⃣ |
Android App | ❌ | ❌ | ✅8️⃣ | ✅7️⃣ | ❌ | ✅3️⃣ | ✅3️⃣ | ✅4️⃣ | ❌ | ❌ | 🚧4️⃣ | 🚧3️⃣ | ✅7️⃣ |
iOS App | ❌ | ❌ | ✅8️⃣ | 🚧3️⃣ | ❌ | ✅3️⃣ | ✅3️⃣ | ✅4️⃣ | ❌ | ❌ | 🚧4️⃣ | ✅6️⃣ | ✅7️⃣ |
Desktop App | ✅9️⃣ | ✅8️⃣ | ❌ | ❌ | ❌ | ✅2️⃣ | ✅2️⃣ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
LivePhotos Support | ❌ | ❌ | ✅9️⃣ | ❌ | ✅6️⃣ | ✅️3️⃣ | ✅8️⃣ | ❌ | ❌ | ❌ | ✅7️⃣ | ❌ | ❌ |
Video Support | ❌ | ✅6️⃣ | ✅7️⃣ | ✅8️⃣ | ✅6️⃣ | ✅5️⃣ | ✅7️⃣ | ❌ | ✅3️⃣ | ✅8️⃣ | ✅7️⃣ | ✅7️⃣ | ✅4️⃣ |
Photo Map | ✅7️⃣ | ✅8️⃣ | ✅4️⃣ | ✅8️⃣ | ✅5️⃣ | ✅6️⃣ | ✅8️⃣ | ✅9️⃣ | ❌ | ✅8️⃣ | ✅6️⃣ | ✅8️⃣ | ✅7️⃣ |
Photo Discovery | ❌ | ❌ | ❌ | ✅7️⃣ | ✅6️⃣ | ✅6️⃣ | ✅7️⃣ | ❌ | ❌ | ❌ | ✅6️⃣ | ❌ | ✅1️⃣ |
Albums | ❌ | ❌ | ✅8️⃣ | ✅9️⃣ | ✅8️⃣ | ✅4️⃣ | ✅8️⃣ | ✅5️⃣ | ❌ | ✅6️⃣ | ✅8️⃣ | ✅6️⃣ | ✅8️⃣ |
Slideshow | ❌ | ❌ | ❌ | ❌ | ❌ | ✅5️⃣ | ✅5️⃣ | ❌ | ✅6️⃣ | ✅7️⃣ | ✅6️⃣ | ❌ | ✅5️⃣ |
Timeline | ✅5️⃣ | ✅3️⃣ | ✅8️⃣ | ✅9️⃣ | ❌ | ✅4️⃣ | ✅9️⃣ | ✅5️⃣ | ✅6️⃣ | ✅5️⃣ | ✅5️⃣ | ✅9️⃣ | ✅3️⃣ |
Photo Sharing | ❌ | ❌ | ✅4️⃣ | ✅9️⃣ | ✅9️⃣ | ✅8️⃣ | ✅8️⃣ | ❌ | ❌ | ✅7️⃣ | ✅7️⃣ | ✅8️⃣ | ✅5️⃣ |
Photo Search | ✅8️⃣ | ✅7️⃣ | ✅7️⃣ | ✅8️⃣ | ✅5️⃣ | ✅4️⃣ | ✅4️⃣ | ✅8️⃣ | ✅9️⃣ | ✅7️⃣ | ✅8️⃣ | ✅5️⃣ | ✅7️⃣ |
Duplicate Handling | ❌ | ❌ | ✅6️⃣ | ❌ | ❌ | ✅8️⃣ | ✅8️⃣ | ❌ | ❌ | ✅5️⃣ | ✅6️⃣ | ❌ | ✅6️⃣ |
User Defined Tags | ✅7️⃣ | ✅7️⃣ | ❌ | ❌ | ✅5️⃣ | ✅️3️⃣ | ✅️3️⃣ | ✅6️⃣ | ✅6️⃣ | ❌ | ✅5️⃣ | ❌ | ✅7️⃣ |
Docker Installation | ✅8️⃣ | ✅8️⃣ | ✅7️⃣ | ✅7️⃣ | ✅7️⃣ | ✅6️⃣ | ✅6️⃣ | ✅8️⃣ | ✅7️⃣ | ✅7️⃣ | ✅6️⃣ | ✅8️⃣ | ✅7️⃣ |
Object/Face Recognition | ✅8️⃣ | ✅6️⃣ | ✅6️⃣ | ✅8️⃣ | ❌ | ✅8️⃣ | ✅8️⃣ | ✅8️⃣ | ✅7️⃣ | ✅6️⃣ | ✅9️⃣ | ✅6️⃣ | ✅5️⃣ |
Basic Editing | ❌ | ❌ | ❌ | ❌ | ❌ | ✅6️⃣ | ✅6️⃣ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
EXIF Data | ✅9️⃣ | ❌ | ✅7️⃣ | ❌ | ✅7️⃣ | ❌ | ✅8️⃣ | ✅7️⃣ | 🚧3️⃣ | ✅7️⃣ | ✅9️⃣ | ✅7️⃣ | ✅6️⃣ |
Multiple User Support | ✅7️⃣ | ❌ | ✅7️⃣ | ✅8️⃣ | ✅6️⃣ | ✅9️⃣ | ✅9️⃣ | ✅7️⃣ | ❌ | ✅7️⃣ | ❌ | ✅6️⃣ | ✅8️⃣ |
Note: This list is by no means comprehensive. For links to other photo library projects, see the Awesome Self-Hosted list and the Awesome Privacy list.
An HTML version of this comparison table is here: https://meichthys.github.io/foss_photo_libraries/
Contributing
Please contribute additions and corrections! When contributing, please add links to the source of the information. (i.e. link to an issue that indicates that a feature does not exist)
~ Don’t give away your photos to the largest data collection entities in the world! Your photos document your life better than any other kinds of data. Pictures are worth more than a thousand words to advertisers!