How to view AWS S3 and Cloudflare R2 in one dashboard

TL;DR

Each provider's native console focuses on its own service — exactly what you'd expect. To work across them you need a third tool, and Cloudflare R2's S3-compatible API is what makes that possible: one S3 client can talk to both. In S3 Viewer you add each provider as its own server, and both sit in the sidebar. You browse one server at a time and switch between them from that list — no re-authenticating, no second console.

Steps

Step-by-step.

  1. 01

    Add AWS S3

    Click Add server in the sidebar and paste an AWS access key and secret, then enter the region and endpoint for the bucket you want. S3 Viewer checks the credentials and lists the buckets they can reach.
  2. 02

    Add Cloudflare R2

    In the Cloudflare dashboard, create an R2 API token. Back in S3 Viewer, click Add server again and enter the access key, the secret, and your account's S3 endpoint (account.r2.cloudflarestorage.com). R2 uses auto as its region.
  3. 03

    Both providers in the same sidebar

    Each connection is a server in the sidebar, named however you like — “AWS prod”, “R2 assets”. Add as many as you want: MinIO, B2, Wasabi, DigitalOcean Spaces and Tigris all connect the same way.
  4. 04

    Switch between them from the sidebar

    Pick a server and its buckets load below it; pick another and you are in the other cloud. One server is active at a time, so you are always sure which provider you are looking at — and you never sign in again to get there.
  5. 05

    Filter inside a folder

    The Filter by prefix box above the file list filters the current folder's rows by prefix. It works identically on an R2 bucket and an S3 bucket, because both answer the same ListObjectsV2 call.
  6. 06

    Moving objects between providers

    S3 Viewer does not copy across providers — CopyObject needs a shared endpoint. For a transfer, use rclone sync or the AWS CLI, then use S3 Viewer to check both sides. The separate guide below walks through it.

Under the hood

What's actually happening.

R2, B2, MinIO, and other compatible endpoints share the same file browser and the same actions — upload, replace, rename, delete — but the mechanics underneath differ. AWS S3 and R2 enforce the conditional headers S3 Viewer sends; B2 and other endpoints aren't verified to, so S3 Viewer checks with a HEAD request immediately before each mutating call instead. Replacements need readable original permissions and settings on every provider. Each connection keeps its own credentials, and you switch servers in the sidebar. Transfers between providers belong to rclone or the AWS CLI.

FAQ

Common questions.

Can I manage AWS S3 and Cloudflare R2 in one tool?

Yes. R2 implements the S3 API, so a single S3 client can talk to both. In S3 Viewer, add each provider as its own server with its own credential — both sit in the same sidebar and you switch between them in a click. Each provider's native console is focused on its own service, which is exactly what they're designed for; S3 Viewer is the layer for working across them.

How does R2 work with the S3 API?

Cloudflare R2 exposes an S3-compatible endpoint at <account>.r2.cloudflarestorage.com. S3 Viewer uses it to browse, preview, download, upload, rename, and share files, the same as it does on AWS S3. The mechanics differ under the hood — R2 lacks a delete-time condition, so S3 Viewer checks with a HEAD request immediately before deleting or renaming rather than relying on R2 to enforce it — but the actions themselves are the same.

Do I need separate credentials for each cloud?

Yes — one access key per cloud, added as its own server. S3 Viewer doesn't replace your AWS or Cloudflare accounts; it sits on top of them and signs requests with whichever server's credential you are browsing. Each is encrypted in your browser before it reaches us and decrypted only to run the operation you asked for.

Can S3 Viewer copy a file from S3 to R2?

No. S3 Viewer does not transfer files between providers. Use rclone or the AWS CLI for the transfer, then browse both buckets in S3 Viewer to review the result.

Can I see both providers on screen at the same time?

Not side by side — one server is active at a time. Switching between them is a click in the sidebar, with no re-authentication, which covers most cross-referencing. If you genuinely need two views at once, open S3 Viewer in two browser tabs.

Why use a third tool instead of two browser tabs?

Two provider consoles work fine if you're rarely in both. Once you cross-reference often, the context-switch cost adds up — separate logins, separate UIs, different conventions for the same operations. One dashboard with the same file browser over both keeps you in flow.

Use S3 Viewer for this

Skip the CLI. Try it in the browser.

S3 Viewer turns the steps above into a single click. Open source, self-hostable, free.