{"slug": "cloudflare-r2", "name": "Cloudflare R2", "category": "files", "category_name": "Files, sync and backup", "description": "Cloudflare's S3-compatible object storage service with no egress fees.", "recommenders": 8, "commenters": 17, "warners": 0, "score": 9.676, "rising": 2.69, "first": "2025-11-26", "latest": "2026-10-28", "why": "Liked for having no egress fees and simple S3-compatible storage that saves money compared with AWS S3, and it fits neatly with Workers and the rest of Cloudflare's platform.", "why_is_quote": false, "has_verdict": true, "sentiment": {"recommend": 8, "neutral": 8, "compare": 1, "warn": 0}, "spark": [0, 0, 1, 0, 1, 2, 0, 0, 0, 1, 2, 1], "listed": true, "loved": ["No egress fees", "Cloudflare integration"], "caveat": "European alternatives", "short_quote": "We use R2 and Wasabi as our storage backends...so we obviously like them", "icon": true, "domain": null, "github_repo": null, "official_url": "https://www.cloudflare.com/developer-platform/products/r2/", "pricing": "freemium", "aliases": ["Cloudflare R2"], "verdict": [{"text": "Liked for having no egress fees", "cites": [{"id": 798818864, "item_id": 49926179, "url": "https://news.ycombinator.com/item?id=49926179", "by": "khazit", "date": "2026-10-01", "stance": "recommend", "quote": "We use R2 (not affiliated) which doesn't have egress fees.", "excerpt": "It's because for providers the bottleneck isn't capacity (which is dirt cheap) but IOPS and bandwidth. To keep transfers fast they need to spread data across a lot of physical disks, meaning they often times sit mostly empty. Egress fees are a way to monetize that empty storage and make sure there is an incentive to minimize egress traffic. We use R2 (not affiliated) which doesn't have egress fees.", "context": "", "use_case": "object storage", "switched_from": "", "story": "Cloudflare K2: serverless event streams"}, {"id": 798083104, "item_id": 49880194, "url": "https://news.ycombinator.com/item?id=49880194", "by": "bojangleslover", "date": "2026-09-28", "stance": "recommend", "quote": "We use R2 and Wasabi as our storage backends...so we obviously like them", "excerpt": "> there is no fundamental technological barrier to building a true SSD-based, disaggregated storage service with the durability, capacity, and pricing profile needed to serve as a general-purpose replacement for S3 There are a lot of very competitive alternatives around today are largely unknown. For example B2 Overdrive by Backblaze boasting up to 1 Tbps, Wasabi offering byte-compatible S3 storage with no egress fee", "context": "", "use_case": "object storage backend", "switched_from": "", "story": "S3 Is the Future, S3 Is the Past"}, {"id": 757486082, "item_id": 47342880, "url": "https://news.ycombinator.com/item?id=47342880", "by": "notryanquinn", "date": "2026-03-11", "stance": "recommend", "quote": "R2, the S3 equivalent, has no egress fees so easy buy in.", "excerpt": "I\u2019ve used RedwoodJS (now CedarJS) and still will for some GraphQL focused apps I have around. I always thought of old Redwood as the easiest way to get a GraphQL React app setup for success off the bat with nice deployment targets. Now with RedwoodSDK I get the absolute easiest way to spin up a production-ready RSC app. Especially true if I don\u2019t want to be on Vercel (I have loved Vercel\u2019s value prop. Many old apps o", "context": "", "use_case": "object storage", "switched_from": "", "story": "RedwoodSDK v1.0 released \u2013 We stopped breaking everything"}]}, {"text": " and simple S3-compatible storage that saves money compared with AWS S3,", "cites": [{"id": 748218052, "item_id": 46763628, "url": "https://news.ycombinator.com/item?id=46763628", "by": "freetonik", "date": "2026-01-26", "stance": "recommend", "quote": "R2 is a simple S3-compatible object storage", "excerpt": "I was also suspicious of Cloudflare as a full platform, but now it's one of my favorite ways to develop and scale web applications. I have implemented Minifeed[1] (and Exotext [2]) completely in Cloudflare Workers (except for the full-text search, for which I use a self-hosted instance of Typesense; though in my testing, Cloudflare's D1 database does come with full-text search enabled - it's SQLite compatible, and it", "context": "", "use_case": "object storage", "switched_from": "", "story": "You can just port things to Cloudflare Workers"}, {"id": 764709280, "item_id": 47794330, "url": "https://news.ycombinator.com/item?id=47794330", "by": "Meekro", "date": "2026-04-16", "stance": "recommend", "quote": "I've saved plenty of money by migrating from AWS S3 to Cloudflare's R2", "excerpt": "I'm not sure why this announcement has generated so much irritation in the comments-- Cloudflare has been transitioning from \"DDoS protection\" to \"AWS competitor\" for many years now, and this is just their alternative to AWS SES. It's an email sender that you can access through an API, or directly through Workers. For those who haven't been keeping up over the years, Workers is their product for running code on Cloud", "context": "", "use_case": "object storage", "switched_from": "AWS S3", "story": "Cloudflare Email Service: now in public beta. Ready for your agents"}, {"id": 793752754, "item_id": 49609547, "url": "https://news.ycombinator.com/item?id=49609547", "by": "snorremd", "date": "2026-09-08", "stance": "recommend", "quote": "R2 (S3 compatible storage) just works globally as well.", "excerpt": "Before I went European sovereign for my own personal stack I used Cloudflare for hosting static and somewhat dynamic websites and it has become really nice the later years. There is almost no mention of \"regions\" in Cloudflare. Your content and code runs globally by default. With traditional clouds you need to think about how you distribute your application. At least that is my experience. Maybe they provide global C", "context": "", "use_case": "object storage", "switched_from": "", "story": "Among European Companies That Use a CDN, Nearly 9 in 10 Use Cloudflare"}]}, {"text": " and it fits neatly with Workers and the rest of Cloudflare's platform.", "cites": [{"id": 790296307, "item_id": 49393519, "url": "https://news.ycombinator.com/item?id=49393519", "by": "spaldingcactus", "date": "2026-08-21", "stance": "recommend", "quote": "R2 is storage", "excerpt": "Cloudflare workers/pages/D1/R2 works great for me on the free plan. If you\u2019re not familiar, I typically use workers for API type stuff (including auth). D1 is database, R2 is storage (images, files?). Pages are.. pages.", "context": "", "use_case": "object storage", "switched_from": "", "story": "Ask HN: How do you host your vibe coded tools/sites?"}, {"id": 748218052, "item_id": 46763628, "url": "https://news.ycombinator.com/item?id=46763628", "by": "freetonik", "date": "2026-01-26", "stance": "recommend", "quote": "R2 is a simple S3-compatible object storage", "excerpt": "I was also suspicious of Cloudflare as a full platform, but now it's one of my favorite ways to develop and scale web applications. I have implemented Minifeed[1] (and Exotext [2]) completely in Cloudflare Workers (except for the full-text search, for which I use a self-hosted instance of Typesense; though in my testing, Cloudflare's D1 database does come with full-text search enabled - it's SQLite compatible, and it", "context": "", "use_case": "object storage", "switched_from": "", "story": "You can just port things to Cloudflare Workers"}, {"id": 758123074, "item_id": 47382692, "url": "https://news.ycombinator.com/item?id=47382692", "by": "meerab", "date": "2026-03-14", "stance": "neutral", "quote": "R2 mounted as a local filesystem via FUSE (tigrisfs)", "excerpt": "We run a similar setup in production at VideoToBe \u2013 FFmpeg inside Cloudflare Containers with R2 mounted as a local filesystem via FUSE (tigrisfs). On the debate about Cloudflare vs Fly vs spot instances \u2013 for bursty, infrequent workloads that already use R2 for storage, Containers are a natural fit. The container accesses R2 over Cloudflare's internal network, so files never hit the public internet. Check out our imp", "context": "", "use_case": "object storage", "switched_from": "", "story": "Offloading FFmpeg with Cloudflare"}]}, {"text": " Complaints are rare; the main caveat is that commenters wanting a European provider point to alternatives.", "cites": [{"id": 793752754, "item_id": 49609547, "url": "https://news.ycombinator.com/item?id=49609547", "by": "snorremd", "date": "2026-09-08", "stance": "recommend", "quote": "R2 (S3 compatible storage) just works globally as well.", "excerpt": "Before I went European sovereign for my own personal stack I used Cloudflare for hosting static and somewhat dynamic websites and it has become really nice the later years. There is almost no mention of \"regions\" in Cloudflare. Your content and code runs globally by default. With traditional clouds you need to think about how you distribute your application. At least that is my experience. Maybe they provide global C", "context": "", "use_case": "object storage", "switched_from": "", "story": "Among European Companies That Use a CDN, Nearly 9 in 10 Use Cloudflare"}, {"id": 746853076, "item_id": 46678317, "url": "https://news.ycombinator.com/item?id=46678317", "by": "Imustaskforhelp", "date": "2026-01-19", "stance": "compare", "quote": "Regarding Cloudflare r2, there might be many but I like the idea of Upcloud", "excerpt": "I recommend you take a look at bunny.net, an Cloudflare alternative which is European and can support deno workers and so you are much more likely to be able to use it Regarding Cloudflare r2, there might be many but I like the idea of Upcloud and you can get yourself say a 3.50 euros machine there and (they got unlimited egress! Wish I was sponsored by them lmaoo) and their block storage is around 20 Euros per month", "context": "", "use_case": "object storage", "switched_from": "", "story": "Show HN: Dock \u2013 Slack minus the bloat, tax, and 90-day memory loss"}]}], "praise": [{"label": "No egress fees", "summary": "Commenters repeatedly cite the lack of egress fees as the main draw.", "quotes": [{"id": 798818864, "item_id": 49926179, "url": "https://news.ycombinator.com/item?id=49926179", "by": "khazit", "date": "2026-10-01", "stance": "recommend", "quote": "We use R2 (not affiliated) which doesn't have egress fees.", "excerpt": "It's because for providers the bottleneck isn't capacity (which is dirt cheap) but IOPS and bandwidth. To keep transfers fast they need to spread data across a lot of physical disks, meaning they often times sit mostly empty. Egress fees are a way to monetize that empty storage and make sure there is an incentive to minimize egress traffic. We use R2 (not affiliated) which doesn't have egress fees.", "context": "", "use_case": "object storage", "switched_from": "", "story": "Cloudflare K2: serverless event streams"}, {"id": 757486082, "item_id": 47342880, "url": "https://news.ycombinator.com/item?id=47342880", "by": "notryanquinn", "date": "2026-03-11", "stance": "recommend", "quote": "R2, the S3 equivalent, has no egress fees so easy buy in.", "excerpt": "I\u2019ve used RedwoodJS (now CedarJS) and still will for some GraphQL focused apps I have around. I always thought of old Redwood as the easiest way to get a GraphQL React app setup for success off the bat with nice deployment targets. Now with RedwoodSDK I get the absolute easiest way to spin up a production-ready RSC app. Especially true if I don\u2019t want to be on Vercel (I have loved Vercel\u2019s value prop. Many old apps o", "context": "", "use_case": "object storage", "switched_from": "", "story": "RedwoodSDK v1.0 released \u2013 We stopped breaking everything"}, {"id": 798083104, "item_id": 49880194, "url": "https://news.ycombinator.com/item?id=49880194", "by": "bojangleslover", "date": "2026-09-28", "stance": "recommend", "quote": "We use R2 and Wasabi as our storage backends...so we obviously like them", "excerpt": "> there is no fundamental technological barrier to building a true SSD-based, disaggregated storage service with the durability, capacity, and pricing profile needed to serve as a general-purpose replacement for S3 There are a lot of very competitive alternatives around today are largely unknown. For example B2 Overdrive by Backblaze boasting up to 1 Tbps, Wasabi offering byte-compatible S3 storage with no egress fee", "context": "", "use_case": "object storage backend", "switched_from": "", "story": "S3 Is the Future, S3 Is the Past"}]}, {"label": "Cloudflare integration", "summary": "Works well alongside Workers, D1 and Containers, including over Cloudflare's internal network.", "quotes": [{"id": 790296307, "item_id": 49393519, "url": "https://news.ycombinator.com/item?id=49393519", "by": "spaldingcactus", "date": "2026-08-21", "stance": "recommend", "quote": "R2 is storage", "excerpt": "Cloudflare workers/pages/D1/R2 works great for me on the free plan. If you\u2019re not familiar, I typically use workers for API type stuff (including auth). D1 is database, R2 is storage (images, files?). Pages are.. pages.", "context": "", "use_case": "object storage", "switched_from": "", "story": "Ask HN: How do you host your vibe coded tools/sites?"}, {"id": 758123074, "item_id": 47382692, "url": "https://news.ycombinator.com/item?id=47382692", "by": "meerab", "date": "2026-03-14", "stance": "neutral", "quote": "R2 mounted as a local filesystem via FUSE (tigrisfs)", "excerpt": "We run a similar setup in production at VideoToBe \u2013 FFmpeg inside Cloudflare Containers with R2 mounted as a local filesystem via FUSE (tigrisfs). On the debate about Cloudflare vs Fly vs spot instances \u2013 for bursty, infrequent workloads that already use R2 for storage, Containers are a natural fit. The container accesses R2 over Cloudflare's internal network, so files never hit the public internet. Check out our imp", "context": "", "use_case": "object storage", "switched_from": "", "story": "Offloading FFmpeg with Cloudflare"}, {"id": 804302162, "item_id": 50268885, "url": "https://news.ycombinator.com/item?id=50268885", "by": "packeted", "date": "2026-10-28", "stance": "neutral", "quote": "R2 for self hosted OpenStreetmap tiles, encrypted user pet records and images", "excerpt": "I went with Cloudflare, primarily because I was already using it for a few other projects but I've been incredibly impressed with how it's scaled. I use D1 for my database, Workers for the API and schedule tasks (including using Claude API to pre-review images and submissions), R2 for self hosted OpenStreetmap tiles, encrypted user pet records and images. I use Clerk for auth. Wild that it costs $5/month to serve tho", "context": "", "use_case": "object storage", "switched_from": "", "story": "Show HN: Independent Vet \u2013 Find locally owned vets (and corporate ones) near you"}]}, {"label": "S3 compatibility", "summary": "Described as simple, S3-compatible object storage that works globally.", "quotes": [{"id": 748218052, "item_id": 46763628, "url": "https://news.ycombinator.com/item?id=46763628", "by": "freetonik", "date": "2026-01-26", "stance": "recommend", "quote": "R2 is a simple S3-compatible object storage", "excerpt": "I was also suspicious of Cloudflare as a full platform, but now it's one of my favorite ways to develop and scale web applications. I have implemented Minifeed[1] (and Exotext [2]) completely in Cloudflare Workers (except for the full-text search, for which I use a self-hosted instance of Typesense; though in my testing, Cloudflare's D1 database does come with full-text search enabled - it's SQLite compatible, and it", "context": "", "use_case": "object storage", "switched_from": "", "story": "You can just port things to Cloudflare Workers"}, {"id": 793752754, "item_id": 49609547, "url": "https://news.ycombinator.com/item?id=49609547", "by": "snorremd", "date": "2026-09-08", "stance": "recommend", "quote": "R2 (S3 compatible storage) just works globally as well.", "excerpt": "Before I went European sovereign for my own personal stack I used Cloudflare for hosting static and somewhat dynamic websites and it has become really nice the later years. There is almost no mention of \"regions\" in Cloudflare. Your content and code runs globally by default. With traditional clouds you need to think about how you distribute your application. At least that is my experience. Maybe they provide global C", "context": "", "use_case": "object storage", "switched_from": "", "story": "Among European Companies That Use a CDN, Nearly 9 in 10 Use Cloudflare"}, {"id": 757486082, "item_id": 47342880, "url": "https://news.ycombinator.com/item?id=47342880", "by": "notryanquinn", "date": "2026-03-11", "stance": "recommend", "quote": "R2, the S3 equivalent, has no egress fees so easy buy in.", "excerpt": "I\u2019ve used RedwoodJS (now CedarJS) and still will for some GraphQL focused apps I have around. I always thought of old Redwood as the easiest way to get a GraphQL React app setup for success off the bat with nice deployment targets. Now with RedwoodSDK I get the absolute easiest way to spin up a production-ready RSC app. Especially true if I don\u2019t want to be on Vercel (I have loved Vercel\u2019s value prop. Many old apps o", "context": "", "use_case": "object storage", "switched_from": "", "story": "RedwoodSDK v1.0 released \u2013 We stopped breaking everything"}]}, {"label": "Lower cost", "summary": "Users report saving money after moving from AWS S3, with low costs at scale.", "quotes": [{"id": 764709280, "item_id": 47794330, "url": "https://news.ycombinator.com/item?id=47794330", "by": "Meekro", "date": "2026-04-16", "stance": "recommend", "quote": "I've saved plenty of money by migrating from AWS S3 to Cloudflare's R2", "excerpt": "I'm not sure why this announcement has generated so much irritation in the comments-- Cloudflare has been transitioning from \"DDoS protection\" to \"AWS competitor\" for many years now, and this is just their alternative to AWS SES. It's an email sender that you can access through an API, or directly through Workers. For those who haven't been keeping up over the years, Workers is their product for running code on Cloud", "context": "", "use_case": "object storage", "switched_from": "AWS S3", "story": "Cloudflare Email Service: now in public beta. Ready for your agents"}, {"id": 798083104, "item_id": 49880194, "url": "https://news.ycombinator.com/item?id=49880194", "by": "bojangleslover", "date": "2026-09-28", "stance": "recommend", "quote": "We use R2 and Wasabi as our storage backends...so we obviously like them", "excerpt": "> there is no fundamental technological barrier to building a true SSD-based, disaggregated storage service with the durability, capacity, and pricing profile needed to serve as a general-purpose replacement for S3 There are a lot of very competitive alternatives around today are largely unknown. For example B2 Overdrive by Backblaze boasting up to 1 Tbps, Wasabi offering byte-compatible S3 storage with no egress fee", "context": "", "use_case": "object storage backend", "switched_from": "", "story": "S3 Is the Future, S3 Is the Past"}, {"id": 804302162, "item_id": 50268885, "url": "https://news.ycombinator.com/item?id=50268885", "by": "packeted", "date": "2026-10-28", "stance": "neutral", "quote": "R2 for self hosted OpenStreetmap tiles, encrypted user pet records and images", "excerpt": "I went with Cloudflare, primarily because I was already using it for a few other projects but I've been incredibly impressed with how it's scaled. I use D1 for my database, Workers for the API and schedule tasks (including using Claude API to pre-review images and submissions), R2 for self hosted OpenStreetmap tiles, encrypted user pet records and images. I use Clerk for auth. Wild that it costs $5/month to serve tho", "context": "", "use_case": "object storage", "switched_from": "", "story": "Show HN: Independent Vet \u2013 Find locally owned vets (and corporate ones) near you"}]}, {"label": "Backup target", "summary": "Used as a backup destination, including with restic and for SQLite databases.", "quotes": [{"id": 764228752, "item_id": 47764297, "url": "https://news.ycombinator.com/item?id=47764297", "by": "noisy_boy", "date": "2026-04-14", "stance": "recommend", "quote": "Just switched from Backblaze to Cloudflare R2 (using restic).", "excerpt": "Just switched from Backblaze to Cloudflare R2 (using restic). Now it makes me think if I should check for such issues with R2 as well.", "context": "", "use_case": "backup storage", "switched_from": "Backblaze", "story": "Backblaze has stopped backing up your data"}, {"id": 777324003, "item_id": 48582750, "url": "https://news.ycombinator.com/item?id=48582750", "by": "OhSoHumble", "date": "2026-06-18", "stance": "neutral", "quote": "The sqlite database is backed up to Cloudflare R2", "excerpt": "I personally just self-host. The project that I'm working on right now uses Gitea internally with an action runner. I use Digital Ocean and run a Nomad cluster on top of that. Gitea and its action runner builds container images and then pushes nomad job definitions to the cluster. I have zero downtime deployment and rolling deploys. Dagger.io is in there somewhere to make local CI mirror what happens in the action ru", "context": "", "use_case": "database backups", "switched_from": "", "story": "The Forge We Deserve"}]}], "caveats": [{"label": "European alternatives", "summary": "Commenters seeking European or sovereign hosting suggest providers other than Cloudflare.", "quotes": [{"id": 746853076, "item_id": 46678317, "url": "https://news.ycombinator.com/item?id=46678317", "by": "Imustaskforhelp", "date": "2026-01-19", "stance": "compare", "quote": "Regarding Cloudflare r2, there might be many but I like the idea of Upcloud", "excerpt": "I recommend you take a look at bunny.net, an Cloudflare alternative which is European and can support deno workers and so you are much more likely to be able to use it Regarding Cloudflare r2, there might be many but I like the idea of Upcloud and you can get yourself say a 3.50 euros machine there and (they got unlimited egress! Wish I was sponsored by them lmaoo) and their block storage is around 20 Euros per month", "context": "", "use_case": "object storage", "switched_from": "", "story": "Show HN: Dock \u2013 Slack minus the bloat, tax, and 90-day memory loss"}, {"id": 793752754, "item_id": 49609547, "url": "https://news.ycombinator.com/item?id=49609547", "by": "snorremd", "date": "2026-09-08", "stance": "recommend", "quote": "R2 (S3 compatible storage) just works globally as well.", "excerpt": "Before I went European sovereign for my own personal stack I used Cloudflare for hosting static and somewhat dynamic websites and it has become really nice the later years. There is almost no mention of \"regions\" in Cloudflare. Your content and code runs globally by default. With traditional clouds you need to think about how you distribute your application. At least that is my experience. Maybe they provide global C", "context": "", "use_case": "object storage", "switched_from": "", "story": "Among European Companies That Use a CDN, Nearly 9 in 10 Use Cloudflare"}]}, {"label": "Reliability questions", "summary": "One recent switcher wondered whether R2 has the same issues they hit with their previous provider.", "quotes": [{"id": 764228752, "item_id": 47764297, "url": "https://news.ycombinator.com/item?id=47764297", "by": "noisy_boy", "date": "2026-04-14", "stance": "recommend", "quote": "Just switched from Backblaze to Cloudflare R2 (using restic).", "excerpt": "Just switched from Backblaze to Cloudflare R2 (using restic). Now it makes me think if I should check for such issues with R2 as well.", "context": "", "use_case": "backup storage", "switched_from": "Backblaze", "story": "Backblaze has stopped backing up your data"}]}], "who": [], "tags": ["for Cloudflare Workers apps", "for backups", "for media and file hosting", "for leaving AWS S3"], "use_cases": ["object storage", "object storage backend", "hosting parquet demo file", "audio file hosting", "database backups", "document storage"], "compared": [{"slug": "cloudflare-workers", "name": "Cloudflare Workers", "co": 5, "switched_from": 0, "switched_to": 0}, {"slug": "cloudflare-d1", "name": "Cloudflare D1", "co": 4, "switched_from": 0, "switched_to": 0}, {"slug": "cloudflare", "name": "Cloudflare", "co": 3, "switched_from": 0, "switched_to": 0}, {"slug": "backblaze", "name": "Backblaze", "co": 1, "switched_from": 1, "switched_to": 0}, {"slug": "hugo", "name": "Hugo", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "amazon-s3", "name": "Amazon S3", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "amazon-ses", "name": "Amazon SES", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=50228314", "title": "Show HN: Independent Vet \u2013 Find locally owned vets (and corporate ones) near you", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49921923", "title": "Cloudflare K2: serverless event streams", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49851693", "title": "S3 Is the Future, S3 Is the Past", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49607443", "title": "Among European Companies That Use a CDN, Nearly 9 in 10 Use Cloudflare", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49416652", "title": "Fast drilldown dashboards from a single Parquet file", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49393465", "title": "Ask HN: How do you host your vibe coded tools/sites?", "mentions": 1}], "sentiment_by_month": {"2025-11": {"neutral": 1}, "2025-12": {"neutral": 1}, "2026-01": {"compare": 1, "recommend": 1}, "2026-02": {}, "2026-03": {"recommend": 1, "neutral": 1}, "2026-04": {"recommend": 2}, "2026-05": {"neutral": 1}, "2026-06": {"neutral": 1}, "2026-07": {}, "2026-08": {"neutral": 2, "recommend": 1}, "2026-09": {"recommend": 2}, "2026-10": {"recommend": 1, "neutral": 1}}, "quotes": [{"id": 804302162, "item_id": 50268885, "url": "https://news.ycombinator.com/item?id=50268885", "by": "packeted", "date": "2026-10-28", "stance": "neutral", "quote": "R2 for self hosted OpenStreetmap tiles, encrypted user pet records and images", "excerpt": "I went with Cloudflare, primarily because I was already using it for a few other projects but I've been incredibly impressed with how it's scaled. I use D1 for my database, Workers for the API and schedule tasks (including using Claude API to pre-review images and submissions), R2 for self hosted OpenStreetmap tiles, encrypted user pet records and images. I use Clerk for auth. Wild that it costs $5/month to serve tho", "context": "", "use_case": "object storage", "switched_from": "", "story": "Show HN: Independent Vet \u2013 Find locally owned vets (and corporate ones) near you"}, {"id": 798818864, "item_id": 49926179, "url": "https://news.ycombinator.com/item?id=49926179", "by": "khazit", "date": "2026-10-01", "stance": "recommend", "quote": "We use R2 (not affiliated) which doesn't have egress fees.", "excerpt": "It's because for providers the bottleneck isn't capacity (which is dirt cheap) but IOPS and bandwidth. To keep transfers fast they need to spread data across a lot of physical disks, meaning they often times sit mostly empty. Egress fees are a way to monetize that empty storage and make sure there is an incentive to minimize egress traffic. We use R2 (not affiliated) which doesn't have egress fees.", "context": "", "use_case": "object storage", "switched_from": "", "story": "Cloudflare K2: serverless event streams"}, {"id": 798083104, "item_id": 49880194, "url": "https://news.ycombinator.com/item?id=49880194", "by": "bojangleslover", "date": "2026-09-28", "stance": "recommend", "quote": "We use R2 and Wasabi as our storage backends...so we obviously like them", "excerpt": "> there is no fundamental technological barrier to building a true SSD-based, disaggregated storage service with the durability, capacity, and pricing profile needed to serve as a general-purpose replacement for S3 There are a lot of very competitive alternatives around today are largely unknown. For example B2 Overdrive by Backblaze boasting up to 1 Tbps, Wasabi offering byte-compatible S3 storage with no egress fee", "context": "", "use_case": "object storage backend", "switched_from": "", "story": "S3 Is the Future, S3 Is the Past"}, {"id": 793752754, "item_id": 49609547, "url": "https://news.ycombinator.com/item?id=49609547", "by": "snorremd", "date": "2026-09-08", "stance": "recommend", "quote": "R2 (S3 compatible storage) just works globally as well.", "excerpt": "Before I went European sovereign for my own personal stack I used Cloudflare for hosting static and somewhat dynamic websites and it has become really nice the later years. There is almost no mention of \"regions\" in Cloudflare. Your content and code runs globally by default. With traditional clouds you need to think about how you distribute your application. At least that is my experience. Maybe they provide global C", "context": "", "use_case": "object storage", "switched_from": "", "story": "Among European Companies That Use a CDN, Nearly 9 in 10 Use Cloudflare"}, {"id": 790732224, "item_id": 49420764, "url": "https://news.ycombinator.com/item?id=49420764", "by": "hamilton", "date": "2026-08-24", "stance": "neutral", "quote": "I used R2 partly because I wanted to see how it behaved", "excerpt": "Agreed, for a public demo like this one, GitHub Pages would work great (or any host that speaks HTTP range requests with CORS). I used R2 partly because I wanted to see how it behaved, and partly because the real use-case doesn't fit Pages. The source data already lives on R2 as Iceberg, the files are per-customer and would probably need auth (signed URLs or a session-checking Worker), and obviously 10k customer cube", "context": "", "use_case": "hosting Parquet demo file", "switched_from": "", "story": "Fast drilldown dashboards from a single Parquet file"}, {"id": 790296307, "item_id": 49393519, "url": "https://news.ycombinator.com/item?id=49393519", "by": "spaldingcactus", "date": "2026-08-21", "stance": "recommend", "quote": "R2 is storage", "excerpt": "Cloudflare workers/pages/D1/R2 works great for me on the free plan. If you\u2019re not familiar, I typically use workers for API type stuff (including auth). D1 is database, R2 is storage (images, files?). Pages are.. pages.", "context": "", "use_case": "object storage", "switched_from": "", "story": "Ask HN: How do you host your vibe coded tools/sites?"}, {"id": 788989620, "item_id": 49311851, "url": "https://news.ycombinator.com/item?id=49311851", "by": "hakunin", "date": "2026-08-15", "stance": "neutral", "quote": "hosted on Cloudflare (R2 for audio files)", "excerpt": "My 8yo kid wanted to listen to news, so I'm trying an experiment: have AI generate a news podcast episode every day where stories of any seriousness are unpacked and explained to kids. Topics like wars and politics are ok, but trying to stay away from local crime. Right now it tells ~5 stories per day, but I'm still tweaking things. My kid's initial feedback was: make fewer stories and tell them more in depth. Might ", "context": "", "use_case": "audio file hosting", "switched_from": "", "story": "Show HN: MyFirst.News \u2013 AI-generated podcast for curious kids"}, {"id": 777324003, "item_id": 48582750, "url": "https://news.ycombinator.com/item?id=48582750", "by": "OhSoHumble", "date": "2026-06-18", "stance": "neutral", "quote": "The sqlite database is backed up to Cloudflare R2", "excerpt": "I personally just self-host. The project that I'm working on right now uses Gitea internally with an action runner. I use Digital Ocean and run a Nomad cluster on top of that. Gitea and its action runner builds container images and then pushes nomad job definitions to the cluster. I have zero downtime deployment and rolling deploys. Dagger.io is in there somewhere to make local CI mirror what happens in the action ru", "context": "", "use_case": "database backups", "switched_from": "", "story": "The Forge We Deserve"}, {"id": 769159473, "item_id": 48072467, "url": "https://news.ycombinator.com/item?id=48072467", "by": "htch", "date": "2026-05-08", "stance": "neutral", "quote": "We have a Cloudflare R2-backed Document Store for managing them", "excerpt": "We\u2019ve been doing this for a couple of months at work for internal memos and decision records, it\u2019s really powerful. I love being able to drop in interactive visuals and more dynamic content. We have a Cloudflare R2-backed Document Store for managing them, and CLI for publishing, and I\u2019m working on an MCP server for long-term discovery and context. My team kept asking if they could leave comments though, so I built An", "context": "", "use_case": "document storage", "switched_from": "", "story": "Using Claude Code: The Unreasonable Effectiveness of HTML"}, {"id": 764709280, "item_id": 47794330, "url": "https://news.ycombinator.com/item?id=47794330", "by": "Meekro", "date": "2026-04-16", "stance": "recommend", "quote": "I've saved plenty of money by migrating from AWS S3 to Cloudflare's R2", "excerpt": "I'm not sure why this announcement has generated so much irritation in the comments-- Cloudflare has been transitioning from \"DDoS protection\" to \"AWS competitor\" for many years now, and this is just their alternative to AWS SES. It's an email sender that you can access through an API, or directly through Workers. For those who haven't been keeping up over the years, Workers is their product for running code on Cloud", "context": "", "use_case": "object storage", "switched_from": "AWS S3", "story": "Cloudflare Email Service: now in public beta. Ready for your agents"}, {"id": 764228752, "item_id": 47764297, "url": "https://news.ycombinator.com/item?id=47764297", "by": "noisy_boy", "date": "2026-04-14", "stance": "recommend", "quote": "Just switched from Backblaze to Cloudflare R2 (using restic).", "excerpt": "Just switched from Backblaze to Cloudflare R2 (using restic). Now it makes me think if I should check for such issues with R2 as well.", "context": "", "use_case": "backup storage", "switched_from": "Backblaze", "story": "Backblaze has stopped backing up your data"}, {"id": 758123074, "item_id": 47382692, "url": "https://news.ycombinator.com/item?id=47382692", "by": "meerab", "date": "2026-03-14", "stance": "neutral", "quote": "R2 mounted as a local filesystem via FUSE (tigrisfs)", "excerpt": "We run a similar setup in production at VideoToBe \u2013 FFmpeg inside Cloudflare Containers with R2 mounted as a local filesystem via FUSE (tigrisfs). On the debate about Cloudflare vs Fly vs spot instances \u2013 for bursty, infrequent workloads that already use R2 for storage, Containers are a natural fit. The container accesses R2 over Cloudflare's internal network, so files never hit the public internet. Check out our imp", "context": "", "use_case": "object storage", "switched_from": "", "story": "Offloading FFmpeg with Cloudflare"}, {"id": 757486082, "item_id": 47342880, "url": "https://news.ycombinator.com/item?id=47342880", "by": "notryanquinn", "date": "2026-03-11", "stance": "recommend", "quote": "R2, the S3 equivalent, has no egress fees so easy buy in.", "excerpt": "I\u2019ve used RedwoodJS (now CedarJS) and still will for some GraphQL focused apps I have around. I always thought of old Redwood as the easiest way to get a GraphQL React app setup for success off the bat with nice deployment targets. Now with RedwoodSDK I get the absolute easiest way to spin up a production-ready RSC app. Especially true if I don\u2019t want to be on Vercel (I have loved Vercel\u2019s value prop. Many old apps o", "context": "", "use_case": "object storage", "switched_from": "", "story": "RedwoodSDK v1.0 released \u2013 We stopped breaking everything"}, {"id": 748218052, "item_id": 46763628, "url": "https://news.ycombinator.com/item?id=46763628", "by": "freetonik", "date": "2026-01-26", "stance": "recommend", "quote": "R2 is a simple S3-compatible object storage", "excerpt": "I was also suspicious of Cloudflare as a full platform, but now it's one of my favorite ways to develop and scale web applications. I have implemented Minifeed[1] (and Exotext [2]) completely in Cloudflare Workers (except for the full-text search, for which I use a self-hosted instance of Typesense; though in my testing, Cloudflare's D1 database does come with full-text search enabled - it's SQLite compatible, and it", "context": "", "use_case": "object storage", "switched_from": "", "story": "You can just port things to Cloudflare Workers"}, {"id": 746853076, "item_id": 46678317, "url": "https://news.ycombinator.com/item?id=46678317", "by": "Imustaskforhelp", "date": "2026-01-19", "stance": "compare", "quote": "Regarding Cloudflare r2, there might be many but I like the idea of Upcloud", "excerpt": "I recommend you take a look at bunny.net, an Cloudflare alternative which is European and can support deno workers and so you are much more likely to be able to use it Regarding Cloudflare r2, there might be many but I like the idea of Upcloud and you can get yourself say a 3.50 euros machine there and (they got unlimited egress! Wish I was sponsored by them lmaoo) and their block storage is around 20 Euros per month", "context": "", "use_case": "object storage", "switched_from": "", "story": "Show HN: Dock \u2013 Slack minus the bloat, tax, and 90-day memory loss"}, {"id": 738532048, "item_id": 46158253, "url": "https://news.ycombinator.com/item?id=46158253", "by": "jonathanlydall", "date": "2025-12-05", "stance": "neutral", "quote": "regular reverse proxying and R2 still works, as we use those", "excerpt": "It seems regular reverse proxying and R2 still works, as we use those and seem to be working fine still. Can't get to the Dashboard though.", "context": "", "use_case": "object storage", "switched_from": "", "story": "Cloudflare was down"}, {"id": 736941491, "item_id": 46058843, "url": "https://news.ycombinator.com/item?id=46058843", "by": "lucastech", "date": "2025-11-26", "stance": "neutral", "quote": "I've wanted to explore R2", "excerpt": "This is awesome, I've used offload media for years, but they've been getting more and more annoying about their plugin trying to convert to using their cdns and upgrading to their premium plugin. I've wanted to explore R2 (I use S3/Cloudfront today) and this looks like a great way to do so!", "context": "", "use_case": "media storage", "switched_from": "", "story": "Show HN: A WordPress plugin that rewrites image URLs for near-zero-cost delivery"}]}