Skip to content

IcloudPhotosDownloader

Dennis Lee edited this page May 27, 2026 · 1 revision

title: icloud-photos-downloader radar_quadrant: Tools radar_ring: Assess radar_position: inner created: 2026-05-22 last_updated: 2026-05-22 related: ["Syncthing", "PersonalBackupPipeline"]

icloud-photos-downloader

icloud-photos-downloader (icloudpd) is a CLI tool for downloading and syncing iCloud photo libraries to a local directory. It runs on Linux, Windows, macOS, and NAS devices; installable via Docker, PyPI, npm, AUR, or direct binary.

Operation Modes

Three modes cover different backup strategies:

  • Copy (default) — download new photos from iCloud, leave existing local files untouched
  • Sync — download new photos and delete local files that were removed in iCloud (--auto-delete)
  • Move — download new photos and delete them from iCloud (--keep-icloud-recent-days)

Continuous sync is supported via --watch-with-interval <seconds>, making it suitable as a long-running background process or Docker container.

Features

  • Live Photos downloaded as separate image and video files
  • RAW and RAW+JPEG support
  • Automatic deduplication of photos with the same name
  • EXIF datetime updates (--set-exif-datetime)
  • Incremental run optimisations (--until-found, --recent)

iCloud Prerequisites

Two iCloud account settings are required: "Access iCloud Data on the Web" must be enabled, and Advanced Data Protection must be disabled. The latter is an Apple platform constraint with no workaround.

Maintainer Status

As of early 2024, the project is actively seeking a new maintainer. It continues to receive weekly releases from volunteer contributors, but the maintainer search is a risk flag to monitor.

Radar Assessment

icloud-photos-downloader sits at Tools → Assess inner. It is the most capable available tool for iCloud photo export (11,956 stars, cross-platform, Docker-ready) and directly complements the Personal Data Backup Pipeline blip on the radar. Inner position reflects a clear trial path for any Apple ecosystem user with a local backup target. The remaining gate before Trial is a completed automated sync running against a real iCloud library. The maintainer situation is noted — if the project stalls, reassess at the next radar cycle.

Clone this wiki locally