What's New
Cloudflare is launching Local Uploads for R2 in open beta. This feature automatically writes object data to a storage location close to the uploading client first, then asynchronously copies the data to the bucket's primary location. Uploaded objects are immediately accessible and remain strongly consistent throughout the replication process.
Performance Improvements
In synthetic benchmarks and private beta testing, Local Uploads achieve up to 75% reduction in Time to Last Byte (TTLB) for cross-region uploads. Testing with 5 MB objects uploaded at ~20 requests per second from Western North America to an Asia-Pacific bucket showed median TTLB improvement from approximately 2 seconds to 500 milliseconds.
How It Works
Same Region: If the client and bucket are in the same region, R2 follows the standard upload flow, writing directly to the bucket's storage infrastructure.
Different Regions: When uploading from a different region, R2 writes object data to storage near the client while publishing metadata to the bucket's primary region. The object is immediately accessible and queryable—no waiting for background replication.
Getting Started
Enable Local Uploads via the Cloudflare Dashboard under your bucket's settings, or use Wrangler:
npx wrangler r2 bucket local-uploads enable [BUCKET]
Important Limitations
Local Uploads are not available for jurisdiction-restricted buckets (EU, FedRAMP, or other compliance restrictions). The feature is designed for globally distributed upload workloads where performance and reliability are critical and your bucket location cannot be moved.