Loading video...

Video Failed to Load

Go Home

Today we launched R2 Local Uploads to improve upload performance. Here's how it works 🧵

147,533 views • 8 months ago •via X (Twitter)

45 Comments

Anni Wang's profile picture
Anni Wang8 months ago

In tests, we saw up to 75% reduction in total request duration for cross-region uploads when Local Uploads is enabled for a bucket. Try it here:

Anni Wang's profile picture
Anni Wang8 months ago

When you upload to R2, your request hits the R2 Gateway first (runs on Workers, deployed globally). Then the object data travels to the storage infrastructure of your bucket.

Anni Wang's profile picture
Anni Wang8 months ago

If your user is in North America uploading to a bucket in Europe, that data has to cross the long distance from the client to the bucket. More distance = more latency, more variability.

Anni Wang's profile picture
Anni Wang8 months ago

Local Uploads changes the flow. Instead of writing directly to the bucket's region, R2 writes object data to storage near the user first. Then we replicate it to your bucket in the background. The object is readable immediately.

Anni Wang's profile picture
Anni Wang8 months ago

If the user and bucket are already in the same region, R2 skips all this and writes directly. No overhead when you don't need it. Learn more:

Anni Wang's profile picture
Anni Wang8 months ago

Want to know if Local Uploads is right for you? Go to your R2 bucket → Metrics → Request Distribution. See where your write requests are coming from.

Anni Wang's profile picture
Anni Wang8 months ago

Enable with one commnad: npx wrangler r2 bucket local-uploads enable <BUCKET> Now in open beta, no extra cost.

Zaher 🇸🇾 🇵🇸's profile picture
Zaher 🇸🇾 🇵🇸8 months ago

it looks nice as long as the bucket is not in your region as in my test, with local upload is slower

Pils10's profile picture
Pils108 months ago

Should it be worse with it compared to without?

Zaid's profile picture
Zaid8 months ago

Happy R2 customer here :)

Joshua Poddoku's profile picture
Joshua Poddoku8 months ago

This is slick and practical, the UI cues plus immediate readability make latency feel like a feature, not a bug. If Local Uploads scales, teams will rethink geo data strategies and push for more region aware UX, lowering frustration for users across regions

vik's profile picture
vik8 months ago

@irvinebroque amazing

Nir Galon's profile picture
Nir Galon8 months ago

Is the globe built with @threejs ?

Rory Bernier's profile picture
Rory Bernier8 months ago

cloudflare dropping features faster than my s3 bills are dropping. wait no that part's still going up

James Ross's profile picture
James Ross8 months ago

this is an awesome ship. congrats

Luis Catacora's profile picture
Luis Catacora8 months ago

this looks so cool! inspired by @Jilles ?

A's profile picture
A8 months ago

cant stop loving cloudflare

Rehan's profile picture
Rehan8 months ago

Oh it's cool

Tony Kim's profile picture
Tony Kim8 months ago

Really like how this focuses on making the user ux better, less lag for the user the better

Eason Chai's profile picture
Eason Chai8 months ago

such a good visualisation tho!

Devarshi Shimpi's profile picture
Devarshi Shimpi8 months ago

It’s basically like caching files? Amazing!

The Fishcake🇯🇵🌸's profile picture
The Fishcake🇯🇵🌸8 months ago

Just tried it and WOW! I saw at least 3x faster upload speeds with large files (3-8GiB). Amazing work! Thank you!!! 🙏

Suraj Mandal's profile picture
Suraj Mandal8 months ago

Looks great! will test it in my next project. Captcha going out of bounds here irks me a bit tho lol

Anni Wang's profile picture
Anni Wang8 months ago

oh no, what are you seeing with the Captcha?

Suraj Mandal's profile picture
Suraj Mandal8 months ago

Oh no no!! I just meant the captcha is a bit wider than the other stuff in the sidebar, just a tiny UI nitpick lol

Pavan Kumar's profile picture
Pavan Kumar8 months ago

This is awesome, and the demo is really nice too 🔥

Francisco Hermida PRO's profile picture
Francisco Hermida PRO8 months ago

Any reason to not have it on by default in all r2 buckets?

Pranjal Soni's profile picture
Pranjal Soni8 months ago

today only we launched r2 integration into so people can build apps using ai, powered by r2 storage without much hassle remove supabase storage as our provider

Ali Ihsan Nergiz's profile picture
Ali Ihsan Nergiz8 months ago

@kathyyliao I’m here for the animation and love R2

Devesh Paliwal's profile picture
Devesh Paliwal8 months ago

that map is slick

Giuliano's profile picture
Giuliano8 months ago

This is fire!! 🔥🔥🔥 Any news on the italian fine? 😬

MING's profile picture
MING8 months ago

Wonderful 😍

Zairig Imad's profile picture
Zairig Imad8 months ago

Hello , there is a mistake in Morocco, it shouldn't be devided in the map! could you please fix it ! thank you

pedro costa — oss/acc's profile picture
pedro costa — oss/acc8 months ago

awesome! is there a way to enable it from the dashboard?

Anni Wang's profile picture
Anni Wang8 months ago

Yes!

pedro costa — oss/acc's profile picture
pedro costa — oss/acc8 months ago

thanks!

EJ Campbell's profile picture
EJ Campbell8 months ago

Why is latency between two regions so high? Conceptually you could take the large file and split into a bunch of tiny individual streams and it shouldn’t be magnitudes slower than local, especially given you are in control of the network / protocol between hops.

Bruce Astor's profile picture
Bruce Astor8 months ago

Why is this something new? It should have been done this way since forever. Good job though, better late than never. PS- Congrats on having a job that's hard for agents to replace!

Daksh's profile picture
Daksh8 months ago

@CloudflareDev Looks good Anni 👍

Saquib's profile picture
Saquib8 months ago

I'm saving this post ... will go through it later

Hamza Imran's profile picture
Hamza Imran8 months ago

Geo replication for R2 when?

Maximin's profile picture
Maximin8 months ago

Amazing job

anand mekala's profile picture
anand mekala8 months ago

that's amazing, btw will there be any chances of increasing the 50MB file size limit in the future?

K.C. Sheffield's profile picture
K.C. Sheffield8 months ago

The only cloud platform that lets me make money. Keep up the great work cloudflare. Cheers from

Uncle J's profile picture
Uncle J8 months ago

Local uploads is one of those features that sounds boring until you realize it eliminates an entire class of latency complaints. The best infrastructure improvements are the ones users never notice — they just stop complaining.

Related Videos