How-to guides for S3.
Direct answers to the questions developers Google about AWS S3, Cloudflare R2, and S3-compatible storage. AWS CLI and SDK snippets included; one-click equivalents in S3 Viewer where they exist.
Files
13 guidesHow to rename a file in S3
Amazon S3 has no rename API — keys are immutable. Here's the standard copy + delete pattern, with metadata and tags preserved.
How to upload large files to S3
How large uploads work in S3 Viewer and from the CLI — streaming, retries, and the 5 GB single-PUT cap.
How to upload to S3 securely without exposing keys
Never ship AWS keys to the browser. How S3 Viewer uploads through its server with nothing to configure on the bucket, and how presigned URLs fit in.
How to download a file from S3
Browser, AWS CLI, or presigned URL — three ways, with the object's own filename and zero key exposure.
How to search across S3 buckets
S3 has no search API. Filter by prefix in the current folder, or reach for S3 Inventory + Athena.
How to delete a file from S3 safely
Versioning, delete markers, MFA Delete — and how to actually purge instead of soft-deleting.
How to bulk-delete S3 files
DeleteObjects API explained — up to 1,000 keys per request, and how versioning changes the answer.
How to create a folder in S3
S3 has no folders — only key prefixes. How the console, the CLI and S3 Viewer create one, and why an empty folder can vanish.
How to change an S3 object's content type or metadata
There's no UpdateObject call — changing a header means copying the object onto itself with MetadataDirective REPLACE.
How to edit a file in S3 without downloading it first
S3 has no edit API either — here's the read, change, conditional-write pattern for small text files, in the console, the CLI, and S3 Viewer.
How to download an S3 folder as a zip file
S3 has no folder download endpoint. The CLI syncs a directory tree; S3 Viewer streams a zip built object by object, with size and count limits.
How to bulk-rename S3 files by pattern
Find/replace, prefixes, suffixes and extensions across a whole selection — previewed before anything is copied or deleted.
How to find and abort incomplete multipart uploads in S3
A failed or abandoned upload leaves parts behind that ListObjects can't see and storage still bills for — here's how to find and abort them.
Sharing
2 guidesMulti-cloud
3 guidesHow to view AWS S3 and Cloudflare R2 in one dashboard
One credential per provider, one sidebar, and one click to switch between them.
How to copy files between AWS S3 and Cloudflare R2
S3 Viewer's Copy to another bucket… now streams a file or folder across servers in-app; rclone still wins for bulk migrations.
How to switch between S3 buckets quickly
Switch servers and buckets from the sidebar, plus AWS CLI named profiles for scripts.
Permissions
3 guidesHow to set granular S3 permissions per prefix
The IAM s3:prefix Condition that everyone misses, plus when workspace roles are simpler than IAM.
How to fix “Access Denied” (403) errors in S3
A nine-point checklist: IAM actions and ARNs, bucket policy denies, Block Public Access, KMS keys, object ownership, and the 403-that-is-really-a-404.
How to create an IAM user with read-only access to one S3 bucket
The exact least-privilege policy JSON, the console and CLI steps, and how to connect the keys without s3:ListAllMyBuckets.