Download iCloud Photos by date range with automatic HEIC to JPG conversion. macOS CLI wrapper for icloudpd.
Shell
1
2 commits
updated Dec 26, 2025
Bulk download and backup iCloud Photos to your Mac. Export iPhone photos by date, month, or range. Convert HEIC to JPG. Simple CLI wrapper for icloudpd.
# Download all photos from July 2025
./icloud_photo_export.sh 2025-07 -a your@email.com -o ~/Photos
# Download a date range
./icloud_photo_export.sh 2025-07 --to 2025-09 -a your@email.com -o ~/Photos
# Convert HEIC to JPG
./convert_heic.sh -i ~/Photos/2025-07
| Script | What it does |
|---|---|
icloud_photo_export.sh | Download iCloud Photos by month, day, or date range |
convert_heic.sh | Batch convert HEIC/HEIF to JPG using macOS sips |
YYYY-MM (month) or YYYY-MM-DD (day)--to for multi-month or multi-day ranges2025-07/ or 2025-07_to_2025-09/# Install icloudpd
pip install icloudpd
# Clone and setup
git clone https://github.com/YOUR_USERNAME/icloud-photo-export.git
cd icloud-photo-export
chmod +x *.sh
./icloud_photo_export.sh <date> -a <email> -o <dir> [OPTIONS]
| Option | Description |
|---|---|
-a, --account | Apple ID email (required) |
-o, --output | Output directory (required) |
--to <date> | End date for range downloads |
-v, --include-videos | Include videos and Live Photos |
-h, --help | Show help |
# Single month
./icloud_photo_export.sh 2025-07 -a you@email.com -o ~/Photos
# Single day
./icloud_photo_export.sh 2025-07-15 -a you@email.com -o ~/Photos
# Month range (July-September)
./icloud_photo_export.sh 2025-07 --to 2025-09 -a you@email.com -o ~/Photos
# Include videos
./icloud_photo_export.sh 2025-07 -a you@email.com -o ~/Photos -v
./convert_heic.sh -i <directory> [OPTIONS]
| Option | Description |
|---|---|
-i, --input-dir | Directory to scan (required) |
-k, --keep-originals | Don't delete HEIC files after conversion |
-d, --dry-run | Preview without converting |
# Convert and delete originals
./convert_heic.sh -i ~/Photos/2025-07
# Keep originals
./convert_heic.sh -i ~/Photos/2025-07 --keep-originals
# Preview first
./convert_heic.sh -i ~/Photos/2025-07 --dry-run
On first run, enter your iCloud password and 2FA code. Sessions are cached in ~/.pyicloud.
To re-authenticate:
rm -rf ~/.pyicloud
| Problem | Solution |
|---|---|
| Session expired | Delete ~/.pyicloud and re-run |
| No photos found | Verify date range has photos in iCloud |
| Videos not downloading | Add -v flag |
MIT
Keywords: download icloud photos, backup iphone photos to mac, export icloud photos, icloud photo downloader, bulk download icloud, heic to jpg mac, convert heic to jpeg, icloudpd wrapper, apple photos backup, icloud cli tool, macos photo export
2 commits
Hacker News (1)
Shell
100.0%
Download iCloud Photos by date range with automatic HEIC to JPG conversion. macOS CLI wrapper for icloudpd.
Shell
1
2 commits
updated Dec 26, 2025
Bulk download and backup iCloud Photos to your Mac. Export iPhone photos by date, month, or range. Convert HEIC to JPG. Simple CLI wrapper for icloudpd.
# Download all photos from July 2025
./icloud_photo_export.sh 2025-07 -a your@email.com -o ~/Photos
# Download a date range
./icloud_photo_export.sh 2025-07 --to 2025-09 -a your@email.com -o ~/Photos
# Convert HEIC to JPG
./convert_heic.sh -i ~/Photos/2025-07
| Script | What it does |
|---|---|
icloud_photo_export.sh | Download iCloud Photos by month, day, or date range |
convert_heic.sh | Batch convert HEIC/HEIF to JPG using macOS sips |
YYYY-MM (month) or YYYY-MM-DD (day)--to for multi-month or multi-day ranges2025-07/ or 2025-07_to_2025-09/# Install icloudpd
pip install icloudpd
# Clone and setup
git clone https://github.com/YOUR_USERNAME/icloud-photo-export.git
cd icloud-photo-export
chmod +x *.sh
./icloud_photo_export.sh <date> -a <email> -o <dir> [OPTIONS]
| Option | Description |
|---|---|
-a, --account | Apple ID email (required) |
-o, --output | Output directory (required) |
--to <date> | End date for range downloads |
-v, --include-videos | Include videos and Live Photos |
-h, --help | Show help |
# Single month
./icloud_photo_export.sh 2025-07 -a you@email.com -o ~/Photos
# Single day
./icloud_photo_export.sh 2025-07-15 -a you@email.com -o ~/Photos
# Month range (July-September)
./icloud_photo_export.sh 2025-07 --to 2025-09 -a you@email.com -o ~/Photos
# Include videos
./icloud_photo_export.sh 2025-07 -a you@email.com -o ~/Photos -v
./convert_heic.sh -i <directory> [OPTIONS]
| Option | Description |
|---|---|
-i, --input-dir | Directory to scan (required) |
-k, --keep-originals | Don't delete HEIC files after conversion |
-d, --dry-run | Preview without converting |
# Convert and delete originals
./convert_heic.sh -i ~/Photos/2025-07
# Keep originals
./convert_heic.sh -i ~/Photos/2025-07 --keep-originals
# Preview first
./convert_heic.sh -i ~/Photos/2025-07 --dry-run
On first run, enter your iCloud password and 2FA code. Sessions are cached in ~/.pyicloud.
To re-authenticate:
rm -rf ~/.pyicloud
| Problem | Solution |
|---|---|
| Session expired | Delete ~/.pyicloud and re-run |
| No photos found | Verify date range has photos in iCloud |
| Videos not downloading | Add -v flag |
MIT
Keywords: download icloud photos, backup iphone photos to mac, export icloud photos, icloud photo downloader, bulk download icloud, heic to jpg mac, convert heic to jpeg, icloudpd wrapper, apple photos backup, icloud cli tool, macos photo export
Hacker News (1)
2 commits
Shell
100.0%