Cloudflare R2
Keep uploaded files in object storage using an S3-compatible API.
Choose it for
- An independent object storage service
- Files accessed through a backend or Workers
Decision
Choose R2 when you want object storage separate from your database and can implement the upload and access boundary.
Trade-off
Choose Supabase Storage when you want bucket access tied directly to an existing Supabase Auth setup.
Cost model
Storage and request-operation usage
Current official pricing ↗First boundary to learn
Buckets hold objects, not relational rows. Store file metadata and ownership deliberately.
Sources checked
Details, connections and lessons →