Skip to content

Cloudflare R2

Before you begin

A Cloudflare account with R2 enabled.

Steps

  1. Cloudflare dashboard → R2 → create a bucket.
  2. R2Manage API tokens → create a token with Object Read & Write scoped to that bucket; copy the Access Key ID and Secret Access Key.
  3. In Universal Storage → Settings: choose provider preset Cloudflare R2, set Region to auto, set Endpoint to https://<account-id>.r2.cloudflarestorage.com, and enable Force Path Style.
  4. Enter the Access Key ID / Secret Access Key from step 2, then Test connection.

Public delivery

Either enable the bucket’s public r2.dev domain, or connect a custom domain, and set it as the CDN/Base URL in Universal Storage → Storage.

Verify it worked

Test connection passes all steps. Uploading a test image (see Your first upload) shows the file in the R2 bucket.

Troubleshooting

Connection fails — double-check the endpoint includes your Cloudflare account ID and that Force Path Style is enabled; R2 requires it.

Cross-provider migration between Amazon S3 and Cloudflare R2, with verify-before-switch safety, is a Pro capability.