Fake S3


Fake S3 is a lightweight server that responds to the same API of Amazon S3.

It is extremely useful for testing of S3 in a sandbox environment without actually making calls to Amazon, which not only requires a network connection, but also costs money with every use.

The goal of Fake S3 is to minimize runtime dependencies and be more of a development tool to test S3 calls in your code rather than a production server looking to duplicate S3 functionality.

Many commands are supported, including put, get, list, copy, and make bucket.


gem install fakes3


To run the server, you must specify a root, a port, and your license key.

fakes3 -r /mnt/fakes3_root -p 4567 --license YOUR_LICENSE_KEY


As of the latest version, we are licensing with Super Source. To get a license, visit:


Depending on your company's size, the license may be free. It is also free for individuals.

You pass the license key to Fake S3 with the command line option --license YOUR_LICENSE_KEY.

Connecting to Fake S3

Take a look at the test cases to see client example usage. For now, Fake S3 is mainly tested with s3cmd, aws-s3 gem, and right_aws. There are plenty more libraries out there, and please do mention if other clients work or not.

Here is a running list of supported clients


Contributions in the form of pull requests, bug reports, documentation, or anything else are welcome! Please read the CONTRIBUTING.md file for more info: CONTRIBUTING.md