Host your Eleventy site at your own address
Eleventy gives you a plain folder of HTML. Drag _site in, pick an address, and it's live over HTTPS — no adapter, no platform, no pipeline.
Drop your _site folder here
Any other file works too — up to 25.0 MB, or 100.0 MB for a whole site
Free to use, live at your-name.99helpers.site in about ten seconds.
Why publishing is the slow part
Eleventy's promise is that the output is just files — no runtime, no framework shipped to the browser, nothing clever happening at request time. Hosting it should be just as plain, and mostly it isn't: the recommended paths all involve an account, a repository and a build that runs somewhere else.
What a Eleventy build gives you
- A _site folder with the whole site rendered as HTML
- Clean URLs: every page written as its own index.html in a folder
- Any passthrough-copied CSS, JavaScript, fonts and images
- Whatever your build produced — feeds, sitemaps, a 404 page
Build it, then upload it
- Build command
npx @11ty/eleventy- Folder to upload
_site/- Check pathPrefix in eleventy.config.js
- Leave pathPrefix at its default of / — a project sub-path from GitHub Pages would prefix every url filter output with a folder that doesn't exist here.
It's a folder, so why the ceremony?
The output has no server requirements at all, yet the usual routes to getting it online start with connecting a Git provider.
pathPrefix is a trap
Set it for a GitHub Pages project site and every url filter in your templates writes that prefix into the HTML. Move the build and the links break.
Quick sites deserve quick publishing
Eleventy is what people reach for when a site should take an afternoon. The deploy step shouldn't take a second afternoon.
Publishing a Eleventy site
- 1
Build it
Run npx @11ty/eleventy (or your npm script). Eleventy writes the finished site to _site unless you've configured another output folder.
- 2
Check pathPrefix
Leave it as / in your Eleventy config. Your site is served from the root of its own address, so no prefix is needed.
- 3
Upload _site and choose an address
Drag the folder in, pick a name, and the site is live over HTTPS in seconds. Folder structure and relative paths are kept exactly as they are.
Worth knowing
- Eleventy's permalinks produce folder URLs, which are served as pages: /posts/hello/ works, and /posts/hello redirects to it.
- A 404.html in the build root is picked up automatically for missing pages.
- eleventy --serve is for local work; what you upload is the same _site folder, so what you see locally is what visitors get.
- If you use the Image plugin, the generated image files ship in the build — worth an eye on the 500-file limit for large photo sites.
- Publishing again to the same address replaces the site and keeps the link, with earlier versions kept for a rollback.
Questions
- Which folder do I upload?
- _site, or whatever you've set as the output directory, with index.html at its top level.
- Do serverless or dynamic Eleventy features work?
- No. Anything that has to run on a server — Eleventy Serverless, form handlers, API routes — needs a platform that runs code. Everything Eleventy renders at build time works perfectly.
- Can I automate publishing from my build?
- Yes. There's a REST API with revocable tokens, so a script or CI job can publish the _site folder after each build.
- Does it work with a Git workflow?
- It doesn't need one. Keep using Git for your source if you like; publishing is a separate step that uploads the finished build.
- How do I update the site?
- Rebuild and publish to the same address. The URL stays the same and every previous version is kept.
Publish the Eleventy build you already have
Drop the folder in at the top of this page and see the link for yourself. You only make an account once it's ready to go live.
Hosting sites from other tools
Hosting guides by file type
Every site gets its own address on 99helpers.site — see static site hosting for every generator, how website hosting works here or free file hosting for any file type.