Cloudflare R2 Setup

Connect your Cloudflare R2 bucket to Snipish for unlimited screenshot storage with zero egress fees.

Prerequisites

Step 1: Create an R2 Bucket

  1. Go to the Cloudflare R2 dashboard
  2. Click Create bucket
  3. Enter a bucket name (e.g., snipish-screenshots)
  4. Choose a location hint (automatic is fine for most users)
  5. Click Create bucket

Step 2: Configure CORS

In your bucket settings, add a CORS policy to allow Snipish to upload files:

[
  {
    "AllowedOrigins": ["https://snipish.app"],
    "AllowedMethods": ["GET", "PUT", "HEAD"],
    "AllowedHeaders": ["*"],
    "MaxAgeSeconds": 3600
  }
]

Step 3: Generate API Credentials

  1. Go to R2 → Manage R2 API Tokens
  2. Click Create API token
  3. Set permissions to Object Read & Write
  4. Scope it to your bucket (e.g., snipish-screenshots)
  5. Click Create API Token
  6. Copy the Access Key ID and Secret Access Key
Warning: Save your Secret Access Key immediately — Cloudflare will only show it once.

Step 4: Configure in Snipish

  1. Go to Settings → Storage in Snipish
  2. Click Connect Your Own Bucket
  3. Select Cloudflare R2 as the provider
  4. Enter your Account ID (found in the R2 dashboard overview)
  5. Enter the Bucket Name
  6. Paste your Access Key ID and Secret Access Key
  7. Click Validate & Connect

Step 5: Verify

Upload a test screenshot. Check your R2 bucket in the Cloudflare dashboard — you should see the file appear within seconds.

Troubleshooting

  • Validation fails with “Access Denied” — Make sure your API token has Object Read & Write permissions and is scoped to the correct bucket.
  • Images don't load after upload — Check that the CORS policy includes your Snipish domain and allows GET requests.
  • Account ID not found — Your Account ID is in the R2 overview page in the Cloudflare dashboard sidebar.