- A command-line tool to download all your iCloud photos.
- Works on Linux, Windows, and MacOS; laptop, desktop, and NAS
- Available as an executable for direct downloading and through package managers/ecosystems (Docker, PyPI, Experimental: Npm)
- Developed and maintained by volunteers (we are always looking for help).
We aim to release new versions once a week (Friday), if there is something worth delivering.
There are three ways to run icloudpd
:
- Download executable for your platform from the Github Releases and run it
- Use package manager to install, update, and, in some cases, run (Docker, PyPI, Experimental: Npm)
- Build and run from the source
- Three modes of operation:
- Copy - download new photos from iCloud (default mode)
- Sync - download new photos from iCloud and delete local files that were removed in iCloud (
--auto-delete
option) - Move - download new photos from iCloud and delete photos in iCloud (
--delete-after-download
option)
- Support for Live Photos (image and video as separate files)
- Automatic de-duplication of photos with the same name
- One time download and an option to monitor for iCloud changes continuously (
--watch-with-interval
option) - Optimizations for incremental runs (
--until-found
and--recent
options) - Photo meta data (EXIF) updates (
--set-exif-datetime
option) - ... and many (use
--help
option to get full list)
Some changes are added to the experimental mode before they graduate into the main package. Details
To keep your iCloud photo collection synchronized to your local system:
icloudpd --directory /data --username [email protected] --watch-with-interval 3600
Synchronization logic can be adjusted with command-line parameters. Run icloudpd --help
to get full list.
Nuances of working with the iCloud or a specific operating system are collected in the FAQ. Also, check Issues.
Want to contribute to iCloud Photos Downloader? Awesome! Check out the contributing guidelines to get involved.