Storage is a commodity
S3-compatible APIs have become the de-facto standard for digital storage.
Common Bucket is a community initiative to define the useful subset of the API that is broadly support to improve interoperability across cloud providers and open-source tools.
Vendor Neutral
Write code once. Run it on AWS, Cloudflare, MinIO, or your own server. No proprietary SDK wrappers required.
Predictable Specs
A clearly defined subset of the 100+ S3 operations. If a tool claims "Common Bucket Compliant", you know exactly what works.
Compatibility Tiers
Compliance is divided into 3 tiers. To be considered "S3 Compatible", a service must fully implement Tier 1.
Tier 1: The Core
MANDATORYThe absolute minimum required for a system to function as an object store. Enables basic CRUD operations. Most static site generators and simple backup tools only need this.
GET /?list-type=2&prefix=photos/2023/ HTTP/1.1
Host: my-bucket.s3.us-east-1.amazonaws.com
Date: Mon, 21 Nov 2025 16:00:00 GMT
Authorization: AWS4-HMAC-SHA256 ... Tier 2: Reliability
RECOMMENDEDEssential for production workloads handling files larger than 100MB. Ensures reliability over unstable networks via multipart uploads.
Tier 3: Application Logic
ADVANCEDFeatures required for complex application architectures, including presigned URLs for client-side uploads and custom metadata handling.
Ecosystem Matrix
A living list of storage providers and open-source tools measured against the OpenS3 standard.
Open Source Tools
Cloud Services
| Provider | Tier 1 | Tier 2 | Tier 3 | Docs |
|---|---|---|---|---|
| AWS S3 (Reference) | | | | Specs |
| Wasabi | | | | Specs |
| Cloudflare R2 | | | | Specs |
| Backblaze B2 | | | | Specs |
| DigitalOcean Spaces | | | | Specs |
| Scaleway Object Storage | | | | Specs |
| Google Cloud Storage | | | | Specs |
| Linode (Akamai) | | | | Specs |
| IDrive e2 | | | | Specs |
| Tigris | | | | Specs |
| Oracle Cloud (OCI) | | | | Specs |
| IBM Cloud Object Storage | | | | Specs |
Compatibility Note
"Partial" support in Tier 3 often refers to inconsistencies in how providers handle
CopyObject
directives or specific headers in Presigned URLs. Always reference the vendor documentation linked above.