S3Mock
S3Mock is a lightweight, mock AWS S3 server designed for local integration testing during development. It eliminates the need for real AWS infrastructure by implementing a subset of the S3 API and can be deployed as a Docker container, JUnit extension, or Testcontainers instance.
Key facts
Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.
| Field | Value |
|---|---|
| Repository | adobe/S3Mock |
| Owner | adobe |
| Primary language | Kotlin |
| License | Apache-2.0 — OSI-approved |
| Stars | 1.1k |
| Forks | 196 |
| Open issues | 4 |
| Latest release | 5.1.0 (2026-06-21) |
| Last updated | 2026-07-07 |
| Source | https://github.com/adobe/S3Mock |
What S3Mock is
Written in Kotlin and running on JVM (Java 17+), S3Mock provides S3 API endpoints for bucket and object operations, multipart uploads, and versioning support. It integrates with Docker, Testcontainers, JUnit 5, and TestNG, and supports both amd64 and arm64 architectures.
Get the S3Mock source
Clone the repository and explore it locally.
git clone https://github.com/adobe/S3Mock.gitcd S3Mock# follow the project's README for install & configurationNeed it deployed, integrated, or customized instead? DEV.co ships production installs.
Best use cases
Implementation considerations
- Requires Java 17+ and Kotlin 2.3; Spring Boot 4.0.x dependency.
- Maven artifact available via Maven Central; Docker image available on Docker Hub (adobe/s3mock).
- Supports AWS SDK v2 clients; AWS SDK v1 support removed in 5.x. Verify client compatibility before upgrade.
- Version 5.x introduces filesystem structure changes; existing test data from 4.x may be incompatible.
- Configure via environment variables or Spring properties; health check endpoint available for readiness/liveness probes.
When to avoid it — and what to weigh
- Production or Production-Like Workloads — S3Mock is a testing tool only; it is not intended for, and should not be used in, production environments or to replace real S3.
- Comprehensive S3 API Coverage Required — Only a subset of S3 operations is supported. Advanced features like analytics, encryption configs, intelligent tiering, and lifecycle policies are not implemented.
- High-Fidelity Performance or Concurrency Testing — S3Mock is optimized for functional testing, not performance benchmarking or stress testing at production scale.
- Long-Term Data Persistence — S3Mock is ephemeral by design; data loss between container restarts is expected. Not suitable for persistent test data across environments.
License & commercial use
Licensed under Apache License 2.0 (Apache-2.0), a permissive OSI-approved open-source license allowing commercial use, modification, and distribution with attribution and liability limitation.
Apache-2.0 permits commercial use in testing and development workflows. Suitable for proprietary software testing pipelines. No licensing fees or restrictions on internal use; no support contract implied. Review Apache-2.0 terms for your specific use case.
DEV.co evaluation signals
Editorial assessment — not user reviews. Directional, with an explicit confidence level.
| Signal | Assessment |
|---|---|
| Maintenance | Active |
| Documentation | Adequate |
| License clarity | Clear |
| Deployment complexity | Low |
| DEV.co fit | Strong |
| Assessment confidence | High |
S3Mock is a testing tool only and should never run in production or with real credentials. It implements a subset of S3 APIs; no assertion of full S3 security feature parity (e.g., encryption, IAM policies, ACLs) is made. OpenSSF Best Practices and Scorecard badges suggest active security review. For development/test environments only; isolate from production networks.
Alternatives to consider
LocalStack
Broader AWS service mocking (Lambda, DynamoDB, SQS, etc.); heavier footprint; more feature-complete but higher resource consumption.
Moto (Python)
Similar mock S3 tool for Python-based projects; cross-language alternative if ecosystem is not JVM-bound.
Real AWS S3 with TestContainers/Docker
Use real AWS S3 in isolated test accounts or LocalStack for broader coverage; trades cost/latency for fidelity.
Build on S3Mock with DEV.co software developers
Pull the Adobe S3Mock Docker image or add the Maven dependency to your test suite. Get started in minutes with zero AWS infrastructure.
Talk to DEV.coRelated on DEV.co
Explore the category and the services that help you build with it.
S3Mock FAQ
Can I use S3Mock in production?
Does S3Mock support all S3 operations?
What happens to my test data when S3Mock stops?
Is S3Mock compatible with AWS SDK v1 and v2?
Work with a software development agency
DEV.co helps companies turn open-source tools like S3Mock into production software. Our software development services cover the full lifecycle — architecture, web development, integration, and maintenance — delivered by software developers and web developers who ship. Engage our software development agency to implement or customize it for your open-source testing stack.
Ready to Simplify Your S3 Testing?
Pull the Adobe S3Mock Docker image or add the Maven dependency to your test suite. Get started in minutes with zero AWS infrastructure.