Skip to content

Getting Your iCloud Photos Into Wasabi: Three Methods That Actually Work

Want to move your iCloud Photos library to Wasabi object storage? This guide covers three practical approaches—browser download and upload, a CLI-based transfer using icloud-photos-downloader and the Wasabi Python SDK, and a fully cloud-based option using CloudsLinker—so you can pick what fits your setup.

Introduction

If you've been eyeing Wasabi as a long-term home for your photo library, you're probably thinking about cost. Wasabi's flat-rate pricing with no egress fees makes it genuinely attractive for archiving large iCloud libraries that you want preserved but don't need to browse daily. The catch is that moving photos out of iCloud isn't as simple as dragging a folder. In this guide, I'll walk through three real methods for getting your iCloud Photos into Wasabi, from the basic browser approach to a Python SDK upload, and finally a cloud-to-cloud option that skips local storage entirely.

About iCloud Photos

iCloud Photos keeps your entire photo library synced across iPhone, iPad, and Mac. It's beautifully integrated into the Apple ecosystem — but storage can become expensive quickly.

  • Only 5 GB free shared across backups, photos, and files.
  • Paid iCloud+ tiers scale up to 12 TB.
  • Optimized storage keeps full-resolution photos in the cloud.
  • Tight Apple lock-in — best experience happens inside Apple devices.

Many users love the seamless syncing — until their photo library crosses 200 GB or 500 GB and monthly costs start stacking up.

About Wasabi

Wasabi is an S3-compatible object storage service built primarily for bulk storage at a flat rate, with no egress or API request fees.

  • $7/TB/month flat pricing — no surprise charges for downloads.
  • S3-compatible API — works with most tools that support Amazon S3.
  • Multiple regional buckets across US, EU, and APAC.
  • No built-in photo viewer — you'll need a third-party tool to browse images.

Wasabi isn't designed for daily browsing the way Google Photos is. It's better suited for archiving — storing originals you want preserved without paying iCloud's premium tier prices. Accessing files typically requires a compatible app or the Wasabi web console.

Why Move Photos from iCloud Photos to Wasabi?

The most common reason people consider Wasabi for photo archiving comes down to a simple cost calculation. Once an iCloud library grows past a few hundred gigabytes, the monthly iCloud+ subscription adds up faster than it feels like it should — especially for photos that are just sitting in storage and rarely being viewed.

Wasabi's flat $7/TB/month rate with no egress fees makes long-term archiving predictable. One use case that comes up often: photographers who shoot in RAW format end up with libraries in the terabyte range within a few years. Keeping those originals in iCloud gets expensive. Moving them to Wasabi as a cold archive — with a local backup for anything actively being edited — is a workflow that genuinely makes financial sense.

  • Predictable Cost: No egress fees means you're not penalized for retrieving your own files.
  • S3 Compatibility: Works with rclone, Cyberduck, and most backup tools that support S3.
  • Long-Term Archiving: Good fit for storing originals you want to keep but don't access constantly.
  • Regional Bucket Options: You can place data in a region that fits your compliance or latency needs.

Worth noting: Wasabi has a 90-day minimum storage policy — files deleted before 90 days are still billed for the full period. That's not a dealbreaker for archiving, but it's worth knowing before you start moving things around aggressively.

Method 1: Download from iCloud Photos, Then Upload to Wasabi

This is the most straightforward path — no tools to install, no accounts to link.

Log in to iCloud Photos on the web, select your images or albums, download them to your computer, and then upload them into your Wasabi bucket via the web console or a compatible S3 client like Cyberduck.

  • Works for small libraries
  • No third-party tools required beyond an S3 client
  • Manual control over what gets transferred
Upload Photos to Wasabi via Web Console

The downside is time and bandwidth. If your library is 300 GB or more, downloading locally and then uploading again doubles the work — and ties up your internet connection for hours on each leg of the transfer.

For libraries under 20 GB, this is perfectly reasonable. For anything larger, the methods below will save you a lot of waiting.

Method 2: Use icloud-photos-downloader and the Wasabi Python SDK

If you're comfortable with the command line, this approach gives you more control and handles larger libraries much better than the browser method.

The idea is to use icloud-photos-downloader to pull your photos from iCloud to a local directory, then use the Wasabi Python SDK (which is boto3 pointed at Wasabi's endpoint) to upload them into your bucket.

Here's the general flow:

  1. Install icloud-photos-downloader: pip install icloudpd
  2. Run icloudpd --directory ./photos --username [email protected] and complete 2FA when prompted.
  3. Install boto3: pip install boto3
  4. Configure your Wasabi credentials (Access Key ID, Secret Access Key, and the appropriate endpoint, e.g. s3.wasabisys.com).
  5. Use a boto3 upload script to push the downloaded folder into your Wasabi bucket.
icloud-photos-downloader terminal download process

A minimal boto3 upload looks something like this:

import boto3
import os

session = boto3.session.Session()
s3 = session.client(
    service_name='s3',
    endpoint_url='https://s3.wasabisys.com',
    aws_access_key_id='YOUR_ACCESS_KEY_ID',
    aws_secret_access_key='YOUR_SECRET_ACCESS_KEY'
)

for root, dirs, files in os.walk('./photos'):
    for file in files:
        local_path = os.path.join(root, file)
        s3_key = local_path.replace('./photos/', '')
        s3.upload_file(local_path, 'your-bucket-name', s3_key)
        print(f'Uploaded: {s3_key}')

This method is more work to set up, but once it's running it's reliable and handles large libraries without you having to babysit a browser. You can also run it on a schedule for incremental syncing.

The main limitation: you still need local disk space to stage the downloads before uploading. If your library is 500 GB, you'll need that much free space available temporarily.

Method 3: Move Your iCloud Photos to Wasabi in the Cloud (No Downloads)

Why Some Users Skip the Download Step Entirely

If your photo library is already hundreds of gigabytes, downloading everything to your laptop just to upload it again feels unnecessary. Using CloudsLinker allows the transfer to run directly between iCloud Photos and Wasabi — entirely online, without touching your local machine.

Step 1: Add iCloud Photos

After signing in, click Add Cloud and select iCloud Photos. Log in with your Apple ID and complete two-factor authentication if required.

Connect iCloud Photos in CloudsLinker dashboard

Once connected, your albums and photo folders appear inside the dashboard, similar to browsing them on iCloud.com.

Step 2: Connect Wasabi

Next, choose Wasabi from the cloud list. You'll be asked to enter your Access Key ID, Secret Access Key, and your Wasabi endpoint (for example, s3.wasabisys.com or the region-specific endpoint for your bucket). No OAuth redirect here — just your bucket credentials.

Add Wasabi credentials in CloudsLinker

After authorization, your Wasabi bucket will show up alongside iCloud Photos as an available destination.

Step 3: Configure and Start the Transfer

Open the Transfer section. Select iCloud Photos as the source and choose Wasabi as the destination.

Transfer configuration from iCloud Photos to Wasabi

You can select specific albums instead of moving your entire library. Given Wasabi's 90-day minimum storage policy, it's worth being intentional about what you move — transferring gradually by album lets you verify things landed correctly before committing the rest.

Step 4: Monitor Progress

The active task will appear in your Task List. You can check real-time progress, pause if needed, and review logs in case any files require attention.

Comparing the 3 Ways to Move Photos from iCloud Photos to Wasabi

There's no single "best" way to move your iCloud Photos library to Wasabi. It mostly comes down to how much you're moving and whether you're comfortable with a bit of command-line work. If cost savings on large archives is the goal, all three methods get you there — they just vary in how much local storage and manual effort they require. Here's a quick side-by-side of the three approaches in this guide.

Method Ease of Use Speed Best For Uses Local Bandwidth Skill Level
Web Browser (Download → Upload) ★★★★★ ★★★☆☆ Small batches, occasional exports Yes (download + upload) Beginner
icloud-photos-downloader + Wasabi Python SDK ★★★☆☆ ★★★★☆ Large libraries, users comfortable with CLI Yes (requires local staging) Intermediate
CloudsLinker (Cloud-to-Cloud) ★★★★★ ★★★★★ Large libraries, hands-off transfers No Beginner

For smaller exports, the browser method is perfectly adequate. If you want more control and don't mind a bit of setup, the icloud-photos-downloader + boto3 combination is solid and scriptable. But for moving a big library without needing hundreds of gigabytes of local staging space, cloud-to-cloud transfer with CloudsLinker is the most hands-off option.

Key Tips for a Smooth iCloud Photos to Wasabi Transfer

iCloud Photos doesn't behave like a normal folder of files, and Wasabi has a few quirks of its own worth knowing. These are the things most likely to catch you off guard.

  • Wasabi has a 90-day minimum storage charge: files deleted before 90 days are still billed for the full period. This isn't a problem for archiving, but if you're testing with temporary files, keep it in mind.
  • Web downloads from iCloud have selection limits: Apple limits how many items you can select at once on the iCloud Photos web interface. Work album-by-album rather than trying to grab everything in one go.
  • The Python SDK method needs local staging space: icloud-photos-downloader writes files to disk before you upload them to Wasabi. Make sure you have enough free space — at minimum matching the size of what you're downloading in each batch.
  • HEIC files are preserved as-is in Wasabi: Wasabi stores whatever you upload without conversion. If you want JPEG versions for broader compatibility, convert them before or after the transfer — not something you need to solve during the move itself.
  • Pick the right Wasabi region for your bucket: use the endpoint that matches your bucket's region (e.g. s3.us-east-1.wasabisys.com). Using the wrong endpoint is one of the more common causes of upload errors.
  • Move in stages if you're not sure yet: start with older albums you rarely open. Confirm they're in Wasabi and intact, then continue. There's no rush, and it's easier to troubleshoot a small batch than an entire library.
  • Keep your Wasabi credentials out of shared scripts: use environment variables or a config file rather than hardcoding your Access Key ID and Secret Access Key into scripts you might share or commit.

The single most useful thing you can do after any transfer: spot-check a sample of files in your Wasabi bucket. Download a few, verify they open correctly, and only then consider reducing your iCloud storage. It's a boring step, but it's the one that catches problems before they matter.

Frequently Asked Questions

Answer: iCloud Photos on the web is designed for browsing and downloading, but Apple limits how many photos/videos you can select at once. If you're exporting a lot, use albums and download in batches instead of trying to "select all."

Answer: When you connect iCloud Photos, you sign in with your Apple ID and enter the verification code Apple sends to your trusted device. After that, the connection uses a secure session/token so you don't have to repeatedly re-verify for every transfer.

Answer: You'll need your Wasabi Access Key ID, Secret Access Key, and the correct endpoint URL for your bucket's region (for example, s3.wasabisys.com for US East 1). You can generate access keys from the Wasabi console under your account settings.

Answer: Wasabi charges for at least 90 days of storage per object, even if you delete it earlier. For archiving photos long-term this rarely matters — you're not planning to delete files quickly. But if you're doing test transfers with files you'll delete, those will still accrue 90 days of charges. It's worth knowing before you start moving things around experimentally.

Answer: For iCloud Photos, CloudsLinker uses Apple's standard sign-in flow rather than asking for your raw password. For Wasabi, you provide API credentials (Access Key ID and Secret Access Key) — the same credentials you'd use with any S3-compatible tool. You can revoke or rotate these keys from the Wasabi console at any time if you want to remove access after the transfer.

Answer: If your library is large, cloud-to-cloud transfer is usually the most hands-off approach. It skips the "download everything locally, then upload again" loop and means you don't need hundreds of gigabytes of free local disk space just to stage the transfer. For people comfortable with the command line, the icloud-photos-downloader and boto3 method is also solid — just expect to need local staging space.

Conclusion

Moving a photo library from iCloud Photos to Wasabi is very doable, but the right method depends on your library size and how comfortable you are with the command line. The browser method works fine for smaller collections. The icloud-photos-downloader and Wasabi Python SDK route gives you more control and scales better. And if you'd rather skip the local step entirely, CloudsLinker handles the whole transfer in the cloud. Whichever path you take, check a sample of files in your Wasabi bucket once the transfer finishes—it's the easiest way to catch anything that didn't land correctly.

Online Storage Services Supported by CloudsLinker

Transfer data between over 48 cloud services with CloudsLinker

OneDrive

OneDrive

Google Drive

Google Drive

Google Photos

Google Photos

Shared Drive

Shared Drive

OneDrive for Business

OneDrive for Business

Dropbox

Dropbox

Box

Box

Mega

Mega

pCloud

pCloud

Yandex

Yandex

ProtonDrive

ProtonDrive

AWS

AWS

GCS

GCS

iDrive

iDrive

Storj

Storj

DigitalOcean

DigitalOcean

Wasabi

Wasabi

1fichier

1fichier

PikPak

PikPak

TeleBox

TeleBox

OpenDrive

OpenDrive

Backblaze B2

Backblaze B2

Fastmail file

Fastmail file

SharePoint

SharePoint

Nextcloud

Nextcloud

ownCloud

ownCloud

Premiumize me

Premiumize me

HiDrive

HiDrive

Put.io

Put.io

Sugar Sync

Sugar Sync

Jottacloud

Jottacloud

Seafile

Seafile

Ftp

Ftp

SFtp

SFtp

NAS

NAS

WebDav

WebDav

4shared

4shared

Icedrive

Icedrive

Cloudflare R2

Cloudflare R2

Scaleway

Scaleway

Doi

Doi

iCloud Drive

iCloud Drive

iCloud Photos

iCloud Photos

FileLU

FileLU

Zoho WorkDrive

Zoho WorkDrive

Telia Cloud / Sky

Telia Cloud / Sky

Drime

Drime

Filen

Filen

Didn' t find your cloud service? Be free to contact: [email protected]

Further Reading

Effortless FTP connect to google drive: Transfer Files in 3 Easy Ways

Explore three efficient methods to connect Google Drive with FTP, enabling seamless file transfers. This comprehensive guide provides detailed instructions, benefits, and tips for effective file management.

Learn More >

Google Photos to OneDrive: 3 Innovative Transfer Strategies

Learn three effective methods to transfer your Google Photos to OneDrive. Explore Web-Based Transfers, Rclone, and CloudsLinker for an efficient shift.

Learn More >

Google Photos to Proton Drive: 3 Effective Transfer Techniques

Discover three practical methods to move your Google Photos to Proton Drive. Learn about Web-Based Uploading, Rclone, and CloudsLinker for a smooth transition.

Learn More >

Interested in learning more?