Skip to main content
Deploy guide

Host a Framer site on GitHub Pages

Free static hosting served straight from a GitHub repository branch, with no account beyond GitHub itself.

Deploy method
Commit the export to a repo and enable Pages
Build step
None needed
Config file
.nojekyll

Deploy it

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

GitHub Pages — deploy
cd my-framer-export
git init && git add -A
git commit -m "Framer export"
git branch -M main
git remote add origin git@github.com:you/your-site.git
git push -u origin main

Without the terminal: Repo → Settings → Pages → Source: main branch, / (root)

The .nojekyll you need

Stop GitHub running the export through Jekyll, which silently drops files and folders whose names begin with an underscore.

.nojekyll
(empty file — its existence is the signal)
The thing that breaks on GitHub Pages
Jekyll processing is on by default and will delete asset folders starting with an underscore — which is exactly how many exports name their asset directory. Add .nojekyll in the first commit or half your CSS will 404 with no error anywhere in the build log.

Custom domain

Settings → Pages → Custom domain, plus a CNAME record at your registrar. GitHub writes a CNAME file into the repo and issues the certificate.

What it costs

Free for public repositories, including HTTPS on a custom domain. Private-repo Pages requires a paid GitHub plan.

Best fit
Archival and portfolio sites where free-forever matters more than deploy ergonomics.

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 GitHub Pages for free?

Free for public repositories, including HTTPS on a custom domain. Private-repo Pages requires a paid GitHub plan.

Do I need a build step to deploy a Framer export to GitHub Pages?

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

How do I point my own domain at GitHub Pages?

Settings → Pages → Custom domain, plus a CNAME record at your registrar. GitHub writes a CNAME file into the repo and issues the certificate.

What usually goes wrong when deploying a Framer export to GitHub Pages?

Jekyll processing is on by default and will delete asset folders starting with an underscore — which is exactly how many exports name their asset directory. Add .nojekyll in the first commit or half your CSS will 404 with no error anywhere in the build log.