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.
- 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. - 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 usesautoas its region. - 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. - 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. - 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 sameListObjectsV2call. - 06
Moving objects between providers
S3 Viewer does not copy across providers —CopyObjectneeds a shared endpoint. For a transfer, userclone syncor 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?
How does R2 work with the S3 API?
Do I need separate credentials for each cloud?
Can S3 Viewer copy a file from S3 to R2?
Can I see both providers on screen at the same time?
Why use a third tool instead of two browser tabs?
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.
Use case
Why teams pick this
Related guides
More how-tos
Switch buckets fast
Switch servers and buckets from the sidebar, plus AWS CLI named profiles for scripts.
Copy S3 ↔ R2
S3 Viewer's Copy to another bucket… now streams a file or folder across servers in-app; rclone still wins for bulk migrations.
Search inside a bucket
S3 has no search API. Filter by prefix in the current folder, or reach for S3 Inventory + Athena.