Getting started
Publish files you already have
If you already have a website as a folder of files — one you built, one somebody built for you, or one exported from another tool — you do not need our designs at all. Zip the folder and drop it in.
What to send
A .zip containing your site's files, with index.html at the top level of the zip.
The commonest mistake is zipping the folder rather than its contents, which puts everything one level down. On a Mac: open the folder, select all the files inside it, right-click, Compress. On Windows: open the folder, select all, right-click, Send to → Compressed folder.
We do not unwrap a wrapper folder for you here — the archive is published exactly as it arrives, and a site whose top level is one folder serves nothing at its home address. (Publishing from GitHub is the exception: a repository archive's wrapper folder is stripped, because GitHub always adds one.)
Dropping it in
Open your site and drag the zip onto the upload area, or click to choose it. Publishing takes a few seconds.
Each upload replaces the whole site. It is not a merge: files you do not include stop being served. That is deliberate — it is the only behaviour where "delete that old page" works the way people expect.
The limits
| The zip itself | 256 MB |
| Any single file | 25 MB |
| Number of files | 20,000 |
| The whole site, unpacked | 1 GB |
Video is the usual reason a site hits the 25 MB rule. Put videos on YouTube or Vimeo and embed them — they will play better than they would from here, and cost you nothing.
node_modules and .git are the usual reason a site hits the file count. Neither belongs in a published website.
What we check, and why
Every upload goes through seven checks before anything changes, and the screen tells you which one stopped it and what to do. They are not bureaucracy: they are the reason one customer's site cannot reach another's files.
If an upload is refused, nothing happens to your live site. It carries on serving the version it was serving. Fix the zip and try again.
The full list, with every refusal and its fix, is on when a publish is refused.
What will not work here
Your site is served as files. Nothing runs on our side, so these do not work however they are packaged:
- PHP, WordPress, or anything that needs a server to build the page;
- a database;
- server-side contact form scripts.
A contact form is the one people miss most, and there is an answer for it: add a Form and the messages arrive in your portal and your inbox.
Other ways in
The same files can be published from a terminal, from a GitHub repository, or by an AI assistant. Same checks, same result. See which way should I publish.
New here and weighing it up? What the hosting is, in one page.