Migrate Azure Blob Storage to Cloudflare R2 with RcloneView: Zero Egress Migration
Azure Blob Storage is powerful, but egress fees add up fast. Cloudflare R2 offers S3-compatible object storage with zero egress charges — and RcloneView handles the migration visually.
Azure Blob Storage is a backbone of many cloud architectures. It is reliable, feature-rich, and deeply integrated with the Azure ecosystem. But there is one persistent pain point: egress fees. Every gigabyte downloaded from Azure Blob costs money, and for applications that serve data frequently — CDNs, APIs, media delivery, or analytics pipelines — those charges can dwarf the storage costs themselves.
Cloudflare R2 eliminates egress entirely. You pay only for storage and operations, with zero bandwidth charges for reads. For workloads where data is read more often than written, R2 can reduce your cloud storage bill dramatically. RcloneView makes the migration straightforward — connect both providers, transfer your data, and verify everything matches.

Manage & Sync All Clouds in One Place
RcloneView is a cross-platform GUI for rclone. Compare folders, transfer or sync files, and automate multi-cloud workflows with a clean, visual interface.
- One-click jobs: Copy · Sync · Compare
- Schedulers & history for reliable automation
- Works with Google Drive, OneDrive, Dropbox, S3, WebDAV, SFTP and more
Free core features. Plus automations available.
Why Switch from Azure Blob to Cloudflare R2
The decision usually comes down to economics:
- Zero egress fees: R2 charges nothing for data downloaded. Azure charges $0.05-$0.12/GB depending on region and volume.
- S3 API compatibility: R2 supports the S3 API, so existing tools, SDKs, and applications work with minimal changes.
- Predictable pricing: R2 charges $0.015/GB per month for storage and flat rates for operations. No hidden tiers or reserved capacity commitments.
- Cloudflare integration: If you already use Cloudflare for DNS, CDN, or Workers, R2 fits naturally into your stack.
- No minimum storage duration: Unlike some providers, R2 does not penalize you for deleting data early.
Quick Cost Comparison
| Cost Factor | Azure Blob (Hot, East US) | Cloudflare R2 |
|---|---|---|
| Storage per GB/month | ~$0.018 | $0.015 |
| Egress per GB | $0.05-$0.12 | $0.00 |
| Class A ops (writes) per 1M | ~$0.065 | $4.50 |
| Class B ops (reads) per 1M | ~$0.005 | $0.36 |
For read-heavy workloads, the egress savings alone can justify the migration.
Step 1: Set Up Both Remotes
Connect Azure Blob and Cloudflare R2 in RcloneView:
- Click + New Remote in RcloneView.
- Add Azure Blob Storage: Select the Azure Blob backend, enter your storage account name and key (or connection string). Name it (e.g.,
AzureBlob). - Add Cloudflare R2: Select S3-compatible storage, choose Cloudflare R2 as the provider. Enter your R2 Access Key ID, Secret Access Key, and the endpoint URL from your Cloudflare dashboard. Name it (e.g.,
CloudflareR2). - Confirm both remotes are visible in the Explorer.
Step 2: Prepare Your R2 Buckets
Before transferring data:
- Create destination buckets in R2 that mirror your Azure containers. You can do this from the Cloudflare dashboard or directly in RcloneView's Explorer.
- Review naming conventions: Azure container names and R2 bucket names follow similar rules (lowercase, hyphens allowed), so most names transfer directly.
- Check object key compatibility: Azure Blob supports some key patterns that may need adjustment. Review any keys with special characters.
Step 3: Run the Migration
Open Azure Blob on one side and Cloudflare R2 on the other in the two-pane Explorer.
For Small Containers
Drag and drop containers or folders directly from Azure Blob to R2. RcloneView transfers files in the background with progress tracking.
For Large Containers
Create a Copy job for reliability:
- Select the Azure Blob container as the source.
- Select the corresponding R2 bucket as the destination.
- Run a Dry Run to preview the transfer scope.
- Execute the job. RcloneView shows real-time progress including transfer speed, file counts, and estimated time remaining.
Step 4: Verify Data Integrity
After the migration completes, verify that everything arrived intact:
- Use RcloneView's Compare feature to check the source container against the R2 bucket.
- Review the comparison results — look for any files marked as missing or different.
- Re-copy any failed items individually.
Step 5: Handle Large-Scale Migrations
Migrating hundreds of gigabytes or terabytes? Plan accordingly:
- Azure egress costs during migration: You will pay Azure egress fees to transfer data out. Consider using Azure's bandwidth pricing tiers and running the migration during a single billing cycle.
- Parallelize by container: Run separate jobs for each container to spread the load and make progress tracking easier.
- Resume on failure: If a job is interrupted, re-run it. Rclone's Copy operation skips files that already exist and match, so you only transfer what is missing.
- Bandwidth considerations: Both Azure and Cloudflare support high-throughput transfers, but your local machine's bandwidth is the bottleneck when routing through RcloneView. For the fastest migrations, run RcloneView on a VM near your Azure region.
Step 6: Update Your Applications
Once verification is complete:
- Update application configuration to point to R2 endpoints instead of Azure Blob.
- Test thoroughly in a staging environment.
- Switch production traffic.
- Keep the Azure Blob data for a rollback period (30 days is common), then delete to stop accruing storage charges.
Getting Started
- Download RcloneView from rcloneview.com.
- Connect Azure Blob and Cloudflare R2 in the New Remote wizard.
- Migrate, verify, and cut over — eliminate egress fees from your cloud bill.
Zero egress means every read is free. RcloneView gets your data there.
Related Guides:
- Move from Cloudflare R2 to AWS S3 with RcloneView
- Compare Cloudflare R2 and AWS S3 with RcloneView
- Migrate Dropbox to Azure Blob Storage with RcloneView