Last updated: May 29, 2024

<span aria-hidden="true" id="how-to-set-up-an-s3-bucket-to-use-with-transloadit"></span>

# How to set up an S3 bucket to use with Transloadit

![Joseph Grabski](/assets/images/teammates/joseph2.png?dpl=dpl_3fBRD5jmFtSDABLXGJJyXU1nVXf8)

**Joseph Grabski**

Content Lead · Rochester, United Kingdom · Show bio

[](https://x.com/joe%5Fgrabski)[](https://github.com/Missing-Tech)

Using Amazon S3 with Transloadit can be a powerful combination, but several customers have told us it can be a struggle to get things working *just* the way they want them to. To help them, and hopefully others as well, we've decided to write a comprehensive guide on how to integrate both services.

![Abstract orange and yellow gradient background, with 'Setting up S3 with Transloadit' text in front.](/_next/static/immutable/media/opengraph-image.38g44zv0njwbr.png)

<span aria-hidden="true" id="creating-a-bucket"></span>

## Creating a bucket

Naturally, our first step will be to make an AWS account. If you don't already have one, head to their [sign-up page⁠](https://portal.aws.amazon.com/billing/signup) and follow the instructions provided.

After completing this, navigate to Storage and then select **S3** from the *Services* tab as shown below.

![Screenshot of the Storage section in AWS](/_next/static/immutable/media/s3-homepage.2b5dlqygicijq.png)

From the Management Console, click **Create Bucket**. Give the bucket a name, and pick a region that is closest to the majority of your users. Keep a note of both the name and region as we'll need to pass this information to Transloadit later.

Importantly, under *Object Ownership* enable **ACLs**. Without this, we won't be able to import or export our files.

![Screenshot: Object ownership](/_next/static/immutable/media/enable-acls.0st07eittqj55.png)

Similarly, under *Block public access*, leave the first two options unchecked, so that it looks the same as the image below.

![Screenshot: Edit block public access](/_next/static/immutable/media/block-public-access.0e6vi4syeocjq.png)

<span aria-hidden="true" id="setting-up-transloadit-credentials"></span>

## Setting up Transloadit Credentials

Now our bucket is set up and ready to start storing our files! However, we still need to grab some credentials from AWS before we head to Transloadit to set up our Template.

To do this, click your username in the top right corner and select **Security Credentials**. From here, scroll down to *Access Keys* and create a new access key. Store both your key and secret somewhere secure.

![Screenshot: Security credentials in AWS](/_next/static/immutable/media/security-credentials.2p30wzoai114f.png)

Now, go to the *Credentials* page on the[Transloadit Console](/c/template-credentials/). From here, scroll to\_Third-party Credentials\_ and click **Add new Credential**.

![Screenshot: Third-party Credentials in Transloadit Console](/_next/static/immutable/media/transloadit-credentials.291dwn1o8op-3.png)

Select Amazon S3 as the Service, give the credential a memorable name, and assign the bucket name and region from before. Also make sure to add your access key and secret here.

![Screenshot: Adding new Credentials on Transloadit](/_next/static/immutable/media/create-tl-credentials.3qstfix8m7lb9.png)

<span aria-hidden="true" id="crafting-a-template"></span>

## Crafting a Template

Transloadit now has everything necessary in order to communicate with S3 to import or export your files. Let's put it to the test!

The Template below will resize an uploaded image to 200x200 using the `fillcrop` strategy – thanks to our handy [/image/resize](/docs/robots/image-resize.md) Robot.

Afterwards, both the resized and original file will be uploaded to S3 for permanent storage.

```json
{
  "steps": {
    ":original": {
      "robot": "/upload/handle"
    },
    "fillcropped": {
      "use": ":original",
      "robot": "/image/resize",
      "result": true,
      "height": "200",
      "width": "200",
      "imagemagick_stack": "{{stacks.imagemagick.recommended_version}}",
      "resize_strategy": "fillcrop"
    },
    "exported": {
      "use": ["fillcropped", ":original"],
      "robot": "/s3/store",
      "credentials": "MY_S3_CREDENTIALS"
    }
  }
}

```

After giving it a whirl, we can see both files in our S3 bucket, ready to be accessed whenever we want!

That's the end of today's guide. We know that S3 can be tricky to set up, so please let us know whether you're still running into trouble and we'll be happy to offer support.

[#assembly](/blog/tags/assembly.md)[#s3-store-robot](/blog/tags/s3-store-robot.md)[#s3-import-robot](/blog/tags/s3-import-robot.md)[#image-resize-robot](/blog/tags/image-resize-robot.md)

### 👩‍💻 Join 20k+ developers

Sign up for our [monthly newsletter](/newsletters.md) to receive direct links to 3 exclusive tech — and 2 product updates. No less, no more.

Your email:

Get access

## File uploading and encoding. Made simple.

Transloadit streamlines file handling for developers, trusted by brands like Coursera and The New York Times. We’re known for a reliable API, top-notch support, and a strong commitment to open source, with projects like [Uppy⁠](https://uppy.io) and [Tus⁠](https://tus.io) setting standards in file processing.

[Sign up](/c/)[Book a Demo](https://survey.typeform.com/to/kRg47Xi5)

No credit card needed · 5 GB included in the free plan

Cancel anytime
