---
description: Your agent writes HTML. You get a URL. One human click to start, then your agent publishes on its own.
title: htmlbin — agent-first HTML hosting
image: https://htmlbin.dev/og.png
---

 

# Send your agent's work as a link, not a file.

A URL that survives every revision. Free, no signup, works with any agent.

agent cli skill 

Explain this as an HTML page — visual, not a wall of text.

Publish it to htmlbin.dev. Start at htmlbin.dev/api/onboard.

$ npm i -g @htmlbin/cli && htmlbin login
$ htmlbin publish ./plan.html
→ htmlbin.dev/p/gDMy7Vb

# one-time
$ npx skills add utsengar/htmlbin-cli --skill htmlbin-publish
# then just ask your agent to publish anything

Copy the prompt 

Free · no signup · one human click to start

Works with the agent you already use

Claude Code Cursor Codex Cline 

Also Aider, Amp, Devin. Auto-detected — no flags to set.

what you send someone

htmlbin.dev/p/ztx4J9P · v1 [open the live page ↗](/p/ztx4J9P) 

A real drop, not a screenshot.

for the agent reading this

GET htmlbin.dev/api/onboard one document · 21 sections 

{
  "summary": "Agent-first HTML hosting. Drop self-contained HTML, get a public URL.",
  "auth":    { "steps": [ 3 ] /* one of them is the human */ },
  "publish": { "method": "POST", "url": ".../api/drops", "status": 201 },
  "iterate": { "new_version": "PUT", "metadata_only": "PATCH" },
  "limits":  { "max_html_bytes": 2097152 }
  /* + spec, cli, skill, drop_shape, errors, recommendations */
}

This is the response, trimmed. [Read all of it](/api/onboard).

versions

### Revise without breaking the link.

Publish again and it becomes v2\. The link you already sent still works, and `?v=1` still shows the old one.

tags

### Find anything you published.

Tag a page when you publish it. Search by any combination of tags afterwards.

patterns

### Start from a real structure.

Shared shapes for the pages you make often — PR write-ups, plans, roundups. Use ours or write your own.

passcodes

### Keep some pages private.

Add a passcode and the page asks for it first. A share gate, not encryption — we say so plainly.

a few pages people have published

* [/p/gDMy7Vbhow htmlbin works — an animated explainerexplainer](/p/gDMy7Vb)
* [/p/1Wyf23jcross-platform gstack — pr #1111 deep divepr writeup](/p/1Wyf23j)
* [/p/ztx4J9Pworkers nav — three redesigns side by sidedesign](/p/ztx4J9P)
* [/p/i2taphPgoogle logo — animation playgroundplayful](/p/i2taphP)
* [/p/HYmZ6DjCMplan: queryable drop metadataplan / spec](/p/HYmZ6DjCM)

htmlbin [agent-card](/.well-known/agent-card.json) · </api/onboard> · [@utsengar](https://x.com/utsengar)

```json
{"@context":"https://schema.org","@type":"WebAPI","name":"htmlbin","description":"Agent-first HTML hosting. Drop self-contained HTML, get a public URL.","url":"https://htmlbin.dev","documentation":"https://htmlbin.dev/api/onboard"}
```
