Free, open-source alternatives to iCloud Photos

Apple's photo library in the cloud. 5 apps you can run yourself instead of iCloud Photos, sorted by how well they replace it. Each one is open source, so your data stays with you.

  1. ImmichBest match

    Photo and video backup solution directly from your mobile phone (alternative to Google Photos).

    116k starsAGPL-3.0Updated 12 October 2026
  2. Ente

    An end-to-end encrypted photo-sharing platform (alternative to Google Photos, Apple Photos).

    29.4k starsAGPL-3.0Updated 12 October 2026
  3. PhotoPrism

    Personal photo management powered by Go and Google TensorFlow. Browse, organize, and share your personal photo collection, using the latest technologies to automatically tag and find pictures.

    40.3k starsAGPL-3.0Updated 12 October 2026
  4. LibrePhotos

    Photo management service with a slight focus on cool graphs (alternative to Google Photos).

    8.1k starsMITUpdated 12 October 2026
  5. Photoview

    Simple and user-friendly photo gallery for personal servers. It is made for photographers and aims to provide an easy and fast way to navigate directories, with thousands of high resolution photos.

    6.6k starsGPL-3.0Updated 8 October 2026

Side by side

AppStarsLicenseActivityRuns on
Immich116,123AGPL-3.0Docker
Ente29,368AGPL-3.0Docker, Node.js, Go
PhotoPrism40,291AGPL-3.0Go, Docker
LibrePhotos8,105MITPython, Docker
Photoview6,551GPL-3.0Go, Docker

Why replace iCloud Photos?

iCloud Photos works, but your data lives in someone else's account, the price can change at any time, and features can disappear. An open-source app you run yourself is yours: you choose where it runs, who can see the data, and when to update.

Questions

What is the best free alternative to iCloud Photos?

Immich is the closest open-source replacement for iCloud Photos in our list. Ente and PhotoPrism are worth a look too, depending on what you need.

Can I self-host an alternative to iCloud Photos?

Yes. All 5 apps on this page are open source and can run on your own server, usually with Docker, or on a managed host that installs them for you.