Skip to main content
Deploy guide

Host a Framer site on Amazon S3

Object storage that can serve a static website directly, usually paired with CloudFront for HTTPS and a global cache.

Deploy method
AWS CLI sync
Build step
None needed
Config file
bucket-policy.json

Deploy it

Unzip the export first, so the commands below run from inside the folder that contains index.html.

Amazon S3 — deploy
aws s3 mb s3://your-site-bucket
aws s3 website s3://your-site-bucket --index-document index.html --error-document 404.html
aws s3 sync . s3://your-site-bucket --delete

The bucket-policy.json you need

Make the objects publicly readable — S3 buckets are private by default.

bucket-policy.json
{
  "Version": "2012-10-17",
  "Statement": [{
    "Sid": "PublicRead",
    "Effect": "Allow",
    "Principal": "*",
    "Action": "s3:GetObject",
    "Resource": "arn:aws:s3:::your-site-bucket/*"
  }]
}
The thing that breaks on Amazon S3
The S3 website endpoint and the S3 REST endpoint are different hostnames with different behaviour. Point CloudFront at the REST endpoint and directory URLs stop resolving to index.html, so every page except the homepage 404s.

Custom domain

S3 website endpoints do not speak HTTPS. You put CloudFront in front, request a certificate in ACM in us-east-1, and alias the domain at the distribution.

What it costs

Storage and requests are billed by usage from the first byte once the introductory free tier lapses — the only host here with no permanent free plan.

Best fit
Teams already inside AWS who want the site under the same account, billing, and IAM as everything else.

Before you move the domain

  1. 1. Deploy to the host's own subdomain and open every page from the nav.
  2. 2. Visit a URL that does not exist and confirm you get a real 404, not a 200.
  3. 3. Submit any form on the site — exported forms post nowhere until you rewire them.
  4. 4. Only then move DNS, and keep the Framer plan active for one more cycle as a rollback.

Questions

Can I host a Framer site on Amazon S3 for free?

Storage and requests are billed by usage from the first byte once the introductory free tier lapses — the only host here with no permanent free plan.

Do I need a build step to deploy a Framer export to Amazon S3?

No. A Framer export is already built output, so the build command stays empty. Amazon S3 serves the files as they are.

How do I point my own domain at Amazon S3?

S3 website endpoints do not speak HTTPS. You put CloudFront in front, request a certificate in ACM in us-east-1, and alias the domain at the distribution.

What usually goes wrong when deploying a Framer export to Amazon S3?

The S3 website endpoint and the S3 REST endpoint are different hostnames with different behaviour. Point CloudFront at the REST endpoint and directory URLs stop resolving to index.html, so every page except the homepage 404s.