# The free way to put a webpage online without signing up

By Avatar 8 (Avatar 8 LLC) · Published October 26, 2026 · https://deed.page/blog/put-a-webpage-online-free-without-signing-up

Putting a webpage online for free without signing up means sending your HTML file to a static host that accepts anonymous uploads and replies with a public https link anyone can open. On deed.page that is one request, and the Free plan holds 25 sites of up to 25 MB each for $0, with no account, no email code, and no expiry unless you ask for one ([pricing](https://deed.page/pricing)).

Every command below was run against production on October 26, 2026. The test sites were published with a 15-minute expiry and then deleted.

## The free way to put a webpage online without signing up

- **1. Save the page as one HTML file.** Put the CSS in a `<style>` tag and any JavaScript in a `<script>` tag, and name it `index.html`. If the page was written by ChatGPT, Claude, Grok, or another assistant, ask it for "one self-contained HTML file".
- **2. Send it with one command** (or ask your agent to run it):

```bash
curl -T index.html "https://deed.page/v1/sites?slug=no-signup-page-<random>&ref=blog" -H "X-Client: <your agent name>"
```

- **3. Open the `url` from the reply and share it.**

Replace `<random>` with a few characters of your own, for example `no-signup-page-cde958`. The reply is JSON:

```json
{"ok":true,"url":"https://no-signup-page-cde958.deed.page/","slug":"no-signup-page-cde958","version":"v1","plan":"free","token":"deed_tok_…","token_note":"Shown once. …"}
```

That `url` works right away over HTTPS on any phone or laptop. The slug is the part of the address you pick: lowercase letters, digits, and hyphens, up to 63 characters. A name someone else already owns returns `409` with a suggestion ([choosing a slug](https://deed.page/blog/choosing-a-slug)).

deed.page has no upload form in the browser. It is built for curl and for AI agents, so the person asking can be you in a terminal or an assistant with a shell, such as Claude Code, Codex, Cursor, or Grok Bot.

## Keep the token so you can change the page later

There is no account, so the first reply carries a `deed_tok_…` token instead. It is shown once and deed.page stores only its SHA-256, so save it:

```bash
# TOKEN is the token field from the reply. Nothing is written when it is empty.
if [ -n "$TOKEN" ]; then (umask 077 && mkdir -p ~/.config/deed-page && chmod 700 ~/.config/deed-page && printf '%s' "$TOKEN" > ~/.config/deed-page/token && chmod 600 ~/.config/deed-page/token); fi
```

To change the page, send the new file to the same slug with the token. The address stays the same and the version number goes up:

```bash
curl -T index.html "https://deed.page/v1/sites?slug=no-signup-page-cde958" -H "Authorization: Bearer $(cat ~/.config/deed-page/token)"
```

Sending identical bytes again returns `"unchanged":true`. To take the page down, send `DELETE /v1/sites/{slug}` with the same token. [Token hygiene for agents](https://deed.page/blog/token-hygiene-for-agents) covers storing it safely.

## Put the page online from an MCP client

Agents that speak MCP can skip curl. Add `https://deed.page/mcp` as a server (in Claude Code: `claude mcp add --transport http deed-page https://deed.page/mcp`) and call `publish_site`:

```json
{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"publish_site","arguments":{"slug":"no-signup-page-<random>","files":{"index.html":"<!doctype html><h1>My page is online</h1>"}}}}
```

The result has the same `url` and `token` fields as the REST reply. The [MCP walkthrough](https://deed.page/blog/mcp-publish-walkthrough) covers updates and the other tools.

## How long no-signup pages last on other hosts

Most no-signup hosts keep an anonymous page for a limited time, then ask you to sign in or claim it. These are the defaults each service states on its own page, checked on October 26, 2026:

| Host | Anonymous page lasts | To keep it longer |
| --- | --- | --- |
| [beacon.host](https://beacon.host/guides/host-static-site-no-signup) | 24 hours | Open the claim link and sign in with an emailed code |
| [UploadTheFile](https://uploadthefile.com/publish) | 48 hours | Sign in free |
| [BrewPage](https://brewpage.app/) | 15 days by default for API publishes, up to 30 days | Optional profile, up to 90 days |
| [ship.page](https://ship.page/temporary-website-hosting) | 30 days | Claim with a free login |
| deed.page | No expiry unless you set `X-Ttl` | Nothing to do; keep the token |

Several of them have a drag-and-drop page in the browser, which deed.page does not. If you have no terminal and no agent, one of those is the quicker path. If you want the link to stay up without coming back to claim it, deed.page is built for that ([here.now comparison](https://deed.page/blog/comparing-deed-page-and-here-now) for one more dated example).

## What the Free plan includes

Free is $0 for 25 sites, 25 MB per site, 60 publishes per hour, and the last 10 versions of each site ([docs](https://deed.page/docs)). Pages are public to anyone with the link and are not listed in the [Explore gallery](https://deed.page/explore) unless you opt in. Free pages show a small "Published with deed.page" link in the corner. Hobby ($3/month) and Pro ($15/month) remove it and add a site password.

## FAQ

**Is it really free, with no card and no email?**
Yes. The first upload needs no account, no card, and no email address. A recovery email is optional, and without one a lost token cannot be restored.

**Does the page expire?**
Not by default. Add `-H "X-Ttl: 86400"` (seconds) only if you want it gone after a day, and delete it any time with the token.

**Can the page have images or more than one file?**
Yes. Pack the folder as a tarball (`tar -C ./site -czf site.tar.gz .`) and send it with the same `curl -T` command. [Picking an upload format](https://deed.page/blog/choose-an-upload-format) shows every option.
