Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/meichthys/foss_photo_libraries
Free and Open Source Photo Libraries
https://github.com/meichthys/foss_photo_libraries
comparison foss list open-source photo-library photos
Last synced: 25 days ago
JSON representation
Free and Open Source Photo Libraries
- Host: GitHub
- URL: https://github.com/meichthys/foss_photo_libraries
- Owner: meichthys
- License: mit
- Created: 2022-06-25T18:07:49.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-31T16:26:51.000Z (2 months ago)
- Last Synced: 2024-10-01T14:01:39.651Z (about 1 month ago)
- Topics: comparison, foss, list, open-source, photo-library, photos
- Language: HTML
- Homepage: https://meichthys.github.io/foss_photo_libraries/
- Size: 633 KB
- Stars: 1,811
- Watchers: 31
- Forks: 49
- Open Issues: 22
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
- fucking-lists - foss_photo_libraries
- lists - foss_photo_libraries
README
# 📸 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.
⚠️ Disclaimer: This repository displays both objective and subjective measures of feature quality. The owner of this repository reserves the right to make changes to any pull request.
## ⚖️ Comparison
```text
✅ = 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 emoji for additional information (🔗 link to related issue, 🔑 demo credentials, etc)
```| Feature | [Chevereto](https://github.com/chevereto/chevereto) | [Damselfly](https://github.com/Webreaper/Damselfly) | [HomeGallery](https://github.com/xemle/home-gallery) | [Immich](https://github.com/immich-app/immich) | [Librephotos](https://github.com/LibrePhotos/librephotos) | [Lychee](https://github.com/LycheeOrg/Lychee) | [Nextcloud Photos](https://github.com/nextcloud/photos/) | [Nextcloud Memories](https://github.com/pulsejet/memories) | [Photonix](https://github.com/photonixapp/photonix) | [Photofield](https://github.com/SmilyOrg/photofield) | [PiGallery2](https://github.com/bpatrik/pigallery2) | [Photoprism](https://github.com/photoprism/photoprism) | [Photoview](https://github.com/photoview/photoview) | [Piwigo](https://github.com/Piwigo/Piwigo) | [Snapcrescent](https://github.com/snapcrescent/snapcrescent) |
| :----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Logo | | | | | | | | | | | | | | | |
| [Github Stars](features.md#github-stars) | ![?](https://img.shields.io/github/stars/chevereto/chevereto?label=%20) | ![?](https://img.shields.io/github/stars/Webreaper/Damselfly?label=%20) | ![?](https://img.shields.io/github/stars/xemle/home-gallery?label=%20) | ![?](https://img.shields.io/github/stars/immich-app/immich?label=%20) | ![?](https://img.shields.io/github/stars/LibrePhotos/librephotos?label=%20) | ![?](https://img.shields.io/github/stars/LycheeOrg/Lychee?label=%20) | ![?](https://img.shields.io/github/stars/nextcloud/photos?label=%20) | ![?](https://img.shields.io/github/stars/pulsejet/memories?label=%20) | ![?](https://img.shields.io/github/stars/photonixapp/photonix?label=%20) | ![?](https://img.shields.io/github/stars/smilyorg/photofield?label=%20) | ![?](https://img.shields.io/github/stars/bpatrik/pigallery2?label=%20) | ![?](https://img.shields.io/github/stars/photoprism/photoprism?label=%20) | ![?](https://img.shields.io/github/stars/photoview/photoview?label=%20) | ![?](https://img.shields.io/github/stars/Piwigo/Piwigo?label=%20) | ![?](https://img.shields.io/github/stars/snapcrescent/snapcrescent?label=%20) |
| [Contributors](features.md#contributors) | ![?](https://img.shields.io/github/contributors/chevereto/chevereto?label=%20) | ![?](https://img.shields.io/github/contributors/webreaper/damselfly?label=%20) | ![?](https://img.shields.io/github/contributors/xemle/home-gallery?label=%20) | ![?](https://img.shields.io/github/contributors/immich-app/immich?label=%20) | ![?](https://img.shields.io/github/contributors/librephotos/librephotos?label=%20) | ![?](https://img.shields.io/github/contributors/lycheeorg/lychee?label=%20) | ![?](https://img.shields.io/github/contributors/nextcloud/photos?label=%20) | ![?](https://img.shields.io/github/contributors/pulsejet/memories?label=%20) | ![?](https://img.shields.io/github/contributors/photonixapp/photonix?label=%20) | ![?](https://img.shields.io/github/contributors/smilyorg/photofield?label=%20) | ![?](https://img.shields.io/github/contributors/bpatrik/pigallery2?label=%20) | ![?](https://img.shields.io/github/contributors/photoprism/photoprism?label=%20) | ![?](https://img.shields.io/github/contributors/photoview/photoview?label=%20) | ![?](https://img.shields.io/github/contributors/Piwigo/Piwigo?label=%20) | ![?](https://img.shields.io/github/contributors/snapcrescent/snapcrescent?label=%20) |
| [Last Commit](features.md#last-commit) | ![?](https://img.shields.io/github/last-commit/chevereto/chevereto/4.0?label=%20) | ![?](https://img.shields.io/github/last-commit/webreaper/damselfly/master?label=%20) | ![?](https://img.shields.io/github/last-commit/xemle/home-gallery/master?label=%20) | ![?](https://img.shields.io/github/last-commit/immich-app/immich/main?label=%20) | ![?](https://img.shields.io/github/last-commit/librephotos/librephotos/dev?label=%20) | ![?](https://img.shields.io/github/last-commit/lycheeorg/lychee/master?label=%20) | ![?](https://img.shields.io/github/last-commit/nextcloud/photos/master?label=%20) | ![?](https://img.shields.io/github/last-commit/pulsejet/memories/master?label=%20) | ![?](https://img.shields.io/github/last-commit/photonixapp/photonix/master?label=%20) | ![?](https://img.shields.io/github/last-commit/smilyorg/photofield/main?label=%20) | ![?](https://img.shields.io/github/last-commit/bpatrik/pigallery2/master?label=%20) | ![?](https://img.shields.io/github/last-commit/photoprism/photoprism/develop?label=%20) | ![?](https://img.shields.io/github/last-commit/photoview/photoview/master?label=%20) | ![?](https://img.shields.io/github/last-commit/Piwigo/Piwigo/master?label=%20) | ![?](https://img.shields.io/github/last-commit/snapcrescent/snapcrescent/main?label=%20) |
| [Source Language](features.md#source-language) | ![?](https://img.shields.io/github/languages/top/chevereto/chevereto) | ![?](https://img.shields.io/github/languages/top/Webreaper/Damselfly) | ![GitHub top language](https://img.shields.io/github/languages/top/xemle/home-gallery) | ![?](https://img.shields.io/github/languages/top/immich-app/immich) | ![GitHub top language](https://img.shields.io/github/languages/top/librephotos/librephotos) | ![GitHub top language](https://img.shields.io/github/languages/top/lycheeorg/lychee) | ![GitHub top language](https://img.shields.io/github/languages/top/nextcloud/photos) | ![GitHub top language](https://img.shields.io/github/languages/top/pulsejet/memories) | ![GitHub top language](https://img.shields.io/github/languages/top/photonixapp/photonix) | ![GitHub top language](https://img.shields.io/github/languages/top/smilyorg/photofield) | ![GitHub top language](https://img.shields.io/github/languages/top/bpatrik/pigallery2) | ![GitHub top language](https://img.shields.io/github/languages/top/photoprism/photoprism) | ![GitHub top language](https://img.shields.io/github/languages/top/photoview/photoview) | ![GitHub top language](https://img.shields.io/github/languages/top/piwigo/piwigo) | ![GitHub top language](https://img.shields.io/github/languages/top/snapcrescent/snapcrescent) |
| [License](features.md#license) | ![?](https://img.shields.io/github/license/chevereto/chevereto?label=%20) | ![?](https://img.shields.io/github/license/Webreaper/Damselfly?label=%20) | ![?](https://img.shields.io/github/license/xemle/home-gallery?label=%20) | ![?](https://img.shields.io/github/license/immich-app/immich?label=%20) | ![?](https://img.shields.io/github/license/LibrePhotos/librephotos?label=%20) | ![?](https://img.shields.io/github/license/LycheeOrg/Lychee?label=%20) | ![?](https://img.shields.io/github/license/nextcloud/photos?label=%20) | ![?](https://img.shields.io/github/license/pulsejet/memories?label=%20) | ![?](https://img.shields.io/github/license/photonixapp/photonix?label=%20) | ![?](https://img.shields.io/github/license/smilyorg/photofield?label=%20) | ![?](https://img.shields.io/github/license/bpatrik/pigallery2?label=%20) | ![?](https://img.shields.io/static/v1?label=%20&message=GPL-3.0&color=orange) | ![?](https://img.shields.io/github/license/photoview/photoview?label=%20) | ![?](https://img.shields.io/github/license/Piwigo/Piwigo?label=%20) | ![?](https://img.shields.io/github/license/snapcrescent/snapcrescent?label=%20) |
| [Demo](features.md#demo) | [✅5️⃣](https://demo.chevereto.com/) | ❌ | [✅](https://demo.home-gallery.org/https://demo.photoprism.app/library/brow)6️⃣ | [✅](https://demo.immich.app/)8️⃣ | [✅](https://demo2.librephotos.com/ "User:demo Pass:demo1234")5️⃣ | [✅](https://lychee-demo.fly.dev/landing "User:admin Pass:admin")9️⃣ | [✅](https://nextcloud.com/instant-trial/)4️⃣ | [✅](https://demo.memories.gallery/apps/memories/)8️⃣ | [✅](https://demo.photonix.org/login)8️⃣ | [✅](https://demo.photofield.dev/)6️⃣ | [✅](https://pigallery2.onrender.com/)8️⃣ | [✅](https://demo.photoprism.app/library/browse)9️⃣ | [✅](https://photos.qpqp.dk/ "User:demo Pass:demo")9️⃣ | [✅](https://piwigo.org/demo)9️⃣ | [✅](https://demo.snapcrescent.app)9️⃣ |
| [Freeness](features.md#freeness) | [✅5️⃣](https://rodolfoberrios.com/2022/12/01/chevereto-goes-free/) | ✅🔟 | ✅🔟 | ✅🔟 | ✅🔟 | ✅🔟 | ✅🔟 | ✅🔟 | ✅🔟 | ✅🔟 | ✅🔟 | [🚧](https://photoprism.app/get)7️⃣ | ✅🔟 | ✅🔟 | ✅🔟 |
| [Automatic Mobile Upload](features.md#automatic-mobile-upload) | ❌ | [❌](https://github.com/Webreaper/Damselfly/issues/40) | ❌ | ✅7️⃣ | ❌ | ❌ | ✅7️⃣ | ✅7️⃣ | ❌ | ❌ | ❌ | ✅6️⃣ | [❌](https://github.com/photoview/photoview/issues/129) | ✅7️⃣ | ✅7️⃣ |
| [Web App](features.md#web-app) | ✅8️⃣ | ✅8️⃣ | ✅8️⃣ | ✅8️⃣ | ✅8️⃣ | ✅8️⃣ | ✅7️⃣ | ✅9️⃣ | ✅7️⃣ | ✅9️⃣ | ✅7️⃣ | ✅7️⃣ | ✅8️⃣ | ✅8️⃣ | ✅7️⃣ |
| [Android App](features.md#android-app) | ❌ | ❌ | ❌ | [✅](https://github.com/immich-app/immich#step-4-run-mobile-app)8️⃣ | ✅[7️⃣](https://github.com/savvasdalkitsis/uhuruphotos-android) | [❌](https://github.com/LycheeOrg/Lychee/issues/1013) | [✅](https://github.com/nextcloud/android)3️⃣ | [✅](https://github.com/pulsejet/memories/issues/180)7️⃣ | ✅[4️⃣](https://github.com/photonixapp/photonix-mobile) | ❌ | ❌ | [🚧](https://docs.photoprism.app/user-guide/pwa/)4️⃣ | [🚧](https://github.com/photoview/photoview/issues/701)3️⃣ | [✅](https://www.piwigo.org/mobile-applications)7️⃣ | [✅](https://github.com/snapcrescent/snapcrescent/releases)7️⃣ |
| [iOS App](features.md#ios-app) | ❌ | ❌ | ❌ | [✅](https://github.com/immich-app/immich#step-4-run-mobile-app)8️⃣ | [🚧](https://github.com/LibrePhotos/librephotos-mobile)3️⃣ | [❌](https://github.com/LycheeOrg/Lychee/issues/1013) | [🚧](https://github.com/nextcloud/ios/ "Nextcloud Files App")3️⃣ | [🚧](https://github.com/nextcloud/ios/ "Nextcloud Files App")3️⃣ | ✅[4️⃣](https://github.com/photonixapp/photonix-mobile) | ❌ | ❌ | [🚧](https://docs.photoprism.app/user-guide/pwa/)4️⃣ | [✅](https://apps.apple.com/dk/app/photoview-media-gallery/id1578380271)6️⃣ | [✅](https://www.piwigo.org/mobile-applications)7️⃣ | ❌ |
| [Desktop App](features.md#desktop-app) | ❌ | ✅9️⃣ | ✅8️⃣ | ❌ | ❌ | ❌ | [🚧](https://github.com/nextcloud/desktop/ "File sync only")2️⃣ | [🚧](https://github.com/nextcloud/desktop/ "File sync only")2️⃣ | [❌](https://github.com/photonixapp/photonix/issues/61) | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| [LivePhotos](features.md#livephotos) | ❌ | ❌ | ❌ | ✅9️⃣ | [❌](https://github.com/LibrePhotos/librephotos/issues/287) | ✅[6️⃣](https://github.com/LycheeOrg/Lychee/issues/1283) | [✅️3️⃣](https://github.com/nextcloud/photos/issues/344) | ✅8️⃣ | [❌](https://github.com/photonixapp/photonix/issues/250) | [❌](https://github.com/SmilyOrg/photofield/issues/52) | ❌ | ✅7️⃣ | [❌](https://github.com/photoview/photoview/issues/273) | [❌](https://github.com/Piwigo/Piwigo/issues/1677) | ❌ |
| [Videos](features.md#videos) | [❌](https://blog.chevereto.com/upcoming/video-support/) | [❌](https://github.com/Webreaper/Damselfly/issues/82) | ✅6️⃣ | ✅8️⃣ | ✅8️⃣ | ✅6️⃣ | ✅5️⃣ | ✅7️⃣ | [❌](https://github.com/photonixapp/photonix/issues/295) | ✅6️⃣ | ✅8️⃣ | ✅7️⃣ | ✅7️⃣ | ✅4️⃣ | ✅7️⃣ |
| [Geolocation/Map](features.md#geolocation/map) | ❌ | ✅7️⃣ | ✅8️⃣ | ✅7️⃣ | ✅8️⃣ | [✅5️⃣](https://github.com/LycheeOrg/Lychee/issues/1051) | ✅6️⃣ | ✅9️⃣ | ✅9️⃣ | ✅8️⃣ | ✅8️⃣ | ✅6️⃣ | ✅8️⃣ | ✅7️⃣ | ❌ |
| [Discovery](features.md#discovery) | ✅2️⃣ | ❌ | ❌ | ✅6️⃣ | ✅7️⃣ | ✅6️⃣ | ✅6️⃣ | ✅7️⃣ | ❌ | ❌ | ❌ | ✅6️⃣ | ❌ | ✅1️⃣ | ❌ |
| [Existing Folders](features.md#existing-folders) | ❌ | ✅7️⃣ | ❌ | ✅[6️⃣](https://immich.app/docs/features/libraries#external-libraries) | ✅4️⃣ | [❌](https://github.com/LycheeOrg/Lychee/issues/1096) | ✅7️⃣ | ✅9️⃣ | [❌](https://github.com/photonixapp/photonix/issues/411) | ✅[4️⃣](https://github.com/SmilyOrg/photofield/issues/45) | ✅5️⃣ | ✅9️⃣ | ✅5️⃣ | [✅](https://github.com/Piwigo/Piwigo/issues/960)7️⃣ | ❌ |
| [Albums](features.md#albums) | ✅8️⃣ | [❌](https://github.com/Webreaper/Damselfly/issues/238) | ❌ | ✅8️⃣ | ✅9️⃣ | ✅8️⃣ | ✅4️⃣ | ✅8️⃣ | ✅5️⃣ | ❌ | ✅6️⃣ | ✅8️⃣ | ✅6️⃣ | ✅8️⃣ | ✅5️⃣ |
| [Slideshow](features.md#slideshow) | ❌ | ✅4️⃣ | ❌ | ✅5️⃣ | ❌ | [✅4️⃣](https://github.com/LycheeOrg/Lychee/pull/1819) | ✅5️⃣ | ✅5️⃣ | [❌](https://github.com/photonixapp/photonix/issues/427) | ✅6️⃣ | ✅7️⃣ | ✅6️⃣ | [❌](https://github.com/photoview/photoview/issues/51) | ✅5️⃣ | ❌ |
| [Timeline](features.md#timeline) | ✅3️⃣ | ✅5️⃣ | ✅3️⃣ | ✅8️⃣ | ✅9️⃣ | [❌](https://github.com/LycheeOrg/Lychee/issues/1050) | ✅4️⃣ | ✅9️⃣ | ✅5️⃣ | ✅6️⃣ | ✅5️⃣ | ✅5️⃣ | ✅9️⃣ | ✅3️⃣ | ✅5️⃣ |
| [Sharing](features.md#sharing) | ✅7️⃣ | ❌ | ❌ | ✅7️⃣ | ✅9️⃣ | ✅9️⃣ | ✅8️⃣ | ✅9️⃣ | ❌ | ❌ | ✅7️⃣ | ✅7️⃣ | ✅8️⃣ | ✅5️⃣ | ✅5️⃣ |
| [Search](features.md#search) | ✅5️⃣ | ✅8️⃣ | ✅7️⃣ | ✅9️⃣ | ✅8️⃣ | ✅5️⃣ | ✅4️⃣ | ✅4️⃣ | ✅8️⃣ | ✅9️⃣ | ✅7️⃣ | ✅8️⃣ | ✅5️⃣ | ✅7️⃣ | ❌ |
| [Duplicate Handling](features.md#duplicate-handling) | ✅5️⃣ | [❌](https://github.com/Webreaper/Damselfly/issues/97) | ❌ | ✅7️⃣ | [❌](https://github.com/LibrePhotos/librephotos/issues/753) | [❌](https://github.com/LycheeOrg/Lychee/issues/1762) | ✅[6️⃣](https://apps.nextcloud.com/apps/mediadc) | ✅[6️⃣](https://apps.nextcloud.com/apps/mediadc) | [❌](https://github.com/photonixapp/photonix/issues/422) | ❌ | ✅5️⃣ | ✅[6️⃣](https://docs.photoprism.app/user-guide/library/duplicates/) | [❌](https://github.com/photoview/photoview/issues/801) | ✅6️⃣ | ✅7️⃣ |
| [User Defined Tags](features.md#photo-tagging) | [❌](https://blog.chevereto.com/upcoming/tags-support/) | ✅7️⃣ | ✅7️⃣ | [✅️](https://github.com/immich-app/immich/releases/tag/v1.113.0)6️⃣ | [❌](https://github.com/LibrePhotos/librephotos/issues/525) | ✅5️⃣ | ✅️3️⃣ | [✅️](https://github.com/pulsejet/memories/issues/487)6️⃣ | ✅6️⃣ | ✅6️⃣ | ❌ | ✅5️⃣ | ❌ | ✅7️⃣ | ❌ |
| [Docker Installation](features.md#docker-installation) | [✅8️⃣](https://github.com/chevereto/docker#pure-docker) | ✅8️⃣ | ✅8️⃣ | ✅7️⃣ | ✅7️⃣ | ✅7️⃣ | [✅](https://github.com/nextcloud/all-in-one#nextcloud-all-in-one)6️⃣ | [✅](https://github.com/nextcloud/all-in-one#nextcloud-all-in-one)6️⃣ | ✅8️⃣ | ✅7️⃣ | ✅7️⃣ | ✅6️⃣ | ✅8️⃣ | [✅](https://hub.docker.com/r/linuxserver/piwigo)7️⃣ | ✅8️⃣ |
| [Object/Face Recognition](features.md#object/face-recognition) | ❌ | ✅8️⃣ | ✅6️⃣ | ✅9️⃣ | ✅8️⃣ | [❌](https://github.com/LycheeOrg/Lychee/issues/1266) | [✅8️⃣](https://github.com/nextcloud/recognize) | [✅8️⃣](https://github.com/nextcloud/recognize) | ✅8️⃣ | ✅7️⃣ | ✅6️⃣ | ✅9️⃣ | ✅6️⃣ | [✅](https://github.com/Piwigo/Piwigo/issues/1159)5️⃣ | ❌ |
| [Basic Editing](features.md#basic-editing) | ❌ | ❌ | ❌ | ✅4️⃣ | ❌ | ❌ | ✅6️⃣ | ✅6️⃣ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| [EXIF Data](features.md#exif-data) | ✅3️⃣ | ✅9️⃣ | ✅7️⃣ | ✅6️⃣ | [❌](https://github.com/LibrePhotos/librephotos/issues/77) | ✅7️⃣ | [❌](https://github.com/nextcloud/photos/issues/226) | ✅8️⃣ | ✅7️⃣ | ✅️3️⃣ | ✅7️⃣ | ✅9️⃣ | ✅7️⃣ | ✅6️⃣ | ✅7️⃣ |
| [Multiple User Support](features.md#multiple-user-support) | ✅8️⃣ | ✅7️⃣ | ❌ | ✅8️⃣ | ✅8️⃣ | ✅6️⃣ | ✅9️⃣ | ✅9️⃣ | ✅7️⃣ | [❌](https://github.com/SmilyOrg/photofield/issues/28) | ✅7️⃣ | [❌](https://github.com/photoprism/photoprism/issues/98) | ✅6️⃣ | ✅8️⃣ | ✅5️⃣ |
| [Authentication Providers](features.md#authentication-providers) | ✅5️⃣ | ❌ | ❌ | ✅7️⃣ | [❌](https://github.com/LibrePhotos/librephotos/issues/616) | [❌](https://github.com/LycheeOrg/Lychee/issues/1844) | ✅9️⃣ | ✅9️⃣ | [❌](https://github.com/photonixapp/photonix/issues/432) | ❌ | [❌](https://github.com/bpatrik/pigallery2/issues/389) | [🚧](https://github.com/photoprism/photoprism/issues/782) | [❌](https://github.com/photoview/photoview/issues/624) | ✅5️⃣ | ❌ |**Note:** This list is by no means comprehensive and is provided on a best efforts basis. No guarantees are made to it's accuracy or completeness. If you see an error or inaccuracy, please report it and contribute a fix if you can!
For links to other photo library projects, see:
- [Awesome Self-Hosted](https://github.com/awesome-selfhosted/awesome-selfhosted#photo-and-video-galleries)
- [Awesome Privacy](https://github.com/pluja/awesome-privacy#photo-storage)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)
Tip: Using a [Markdown Editor](https://marketplace.visualstudio.com/items?itemName=zaaack.markdown-editor) helps with formatting.## 🆘 Support
Maintaining this list of projects takes a lot of time. If you found this comparison helpful, please let me know by considering supporting me. This lets me know that someone is finding this project useful and gives me an incentive to keep it up to date.
You can support me on Liberapay or Github Sponsors: