Share a Claude Artifact as a Public Link, Free | BrewPage

Share Claude artifacts with a public link

Claude builds a page, a dashboard or a report, and now someone else needs to open it. BrewPage hosts the artifact's HTML or Markdown at its own HTTPS address, so the reader gets a normal web page. Copy it in by hand, or let Claude Code, Claude Desktop or any MCP client publish it and give you the link.

Share an artifact from Claude by hand

  1. 1In Claude, open the artifact and copy its code, or download it. If the artifact is a React component rather than plain HTML, ask Claude first: “Rewrite this artifact as one self-contained HTML file.”
  2. 2Paste the HTML into the BrewPage editor. For a written document or report, paste it as Markdown.
  3. 3Press Publish, copy the link and send it. Keep the owner token if you plan to update the artifact later.

The person you send it to opens an ordinary web page in any browser. They do not need a Claude account, and the page keeps working after you close the chat.

Let Claude Code publish its own reports

Claude Code writes HTML reports, test summaries, architecture notes and dashboards to disk. With BrewPage connected it can publish them itself and answer with a link. Pick one of three ways.

1 · Claude Code plugin, then run /publish

/plugin marketplace add kochetkov-ma/claude-brewcode
/plugin install brewdoc@claude-brewcode
/publish

2 · MCP server (Claude Desktop, Claude Code or any MCP client)

{ "mcpServers": { "brewpage": { "command": "npx", "args": ["-y", "brewpage-mcp@1.9.3"] } } }

3 · No install: add this instruction to CLAUDE.md or paste it into the chat

When you finish an HTML page or a Markdown report the user should see, publish it to BrewPage and return the link. POST the HTML to https://brewpage.app/api/html with Content-Type: text/html (Markdown: Content-Type: text/markdown). Requests without ns publish to the public namespace; set a non-public ns for an unlisted address. Return the link from the response and keep the ownerToken for updates. Full API: https://brewpage.app/llms.txt

The plugin is documented at brewdoc:publish, and the MCP server is the npm package brewpage-mcp. When the MCP server publishes without a namespace it uses a generated unlisted one; ask for public explicitly if the page should be eligible for the gallery.

Or publish a report file with curl

Any agent that can run a shell command can publish with a single request. This puts report.html at an unlisted address for seven days:

Publish report.html

curl -X POST "https://brewpage.app/api/html?ns=my-reports&ttl=7" \
  -H "Content-Type: text/html" \
  -H "User-Agent: MyAgent/1.0" \
  --data-binary @report.html

The response carries the link to share and an ownerToken. Send a new version with PUT /api/html/{ns}/{id} and the X-Owner-Token header and the same link shows the update.

What carries over from claude.ai

  • HTML artifacts with inline CSS and JavaScript work as published: charts, calculators, small games, landing-page drafts.
  • Document artifacts written in Markdown publish as formatted pages with a Download button; see Markdown hosting.
  • React artifacts need one extra step: ask Claude to turn them into a single HTML file first.
  • Features that depend on claude.ai itself, such as artifacts that send prompts to Claude from inside the artifact or keep data in Claude, do not work outside claude.ai.
  • Pages that save data in the browser may be given their own subdomain address automatically, so that storage works.

Before you publish, check what the artifact contains. Chats often include names, internal numbers or pasted data. A public page can be listed and read by anyone, an unlisted link can be forwarded, and a password is the way to restrict reading.

Limits

Size
One HTML or Markdown artifact up to 5 MB. A multi-file project up to 20 MB, 100 files.
Lifetime
1 to 30 days, 15 by default. When the time is up the content is deleted for good, with no recovery. Updating a page keeps its original expiry date; it does not extend it.
Visibility
Public publications without a password can appear in the gallery and in search results, but neither is guaranteed. An unlisted address is not private: anyone who has the link can open it. Set a password (at least 4 characters) when readers should have to enter one.
Ownership
There are no accounts. The owner token returned with each publish is the only way to update or delete; a lost token cannot be recovered, and the content then simply expires.
Usage
Publishing and reading are rate-limited per IP address. A 429 response carries a Retry-After header that says when to try again.
Attribution
Published pages show a small BrewPage badge. Publishing follows the terms, and anyone can report a page.

Other ways to share an artifact

QuestionBrewPage linkShare link inside the chat appSending the fileScreenshot
What the reader opensA live web page in any browserThe artifact in the chat app's own viewerA file they download and openA static picture
InteractiveYesYesAfter opening it locallyNo
Can Claude Code or another agent publish itYes: API, MCP server or pluginDepends on the appBy handBy hand
Update at the same linkYes, with the owner tokenDepends on the appNoNo
How long it lasts1–30 days, then deletedSet by the appAs long as the copy existsAs long as the copy exists

Sharing Claude artifacts — FAQ

Does the reader need a Claude account?

No. The link opens a normal web page in any browser.

How do I publish a React artifact?

Ask Claude to rewrite it as one self-contained HTML file, then paste that file into the editor or send it to the API.

Can Claude Code publish reports automatically?

Yes. Install the brewdoc plugin and run /publish, connect the brewpage-mcp server, or add a one-paragraph instruction to CLAUDE.md. Claude then publishes finished reports and returns the link.

Where does an MCP publish go by default?

To a generated unlisted namespace. Ask for the public namespace explicitly if the page should be eligible for the gallery and search.

Is a shared artifact private?

Only if you set a password. Unlisted links are not listed anywhere, but anyone who has the link can open the page.

How long does the link work?

15 days by default, up to 30 days. Then the artifact is deleted and cannot be recovered.

Can I update the artifact at the same link?

Yes. Keep the owner token from the publish response and send the new version with PUT /api/html/{ns}/{id}. The link stays the same; the expiry date does not move.

Is BrewPage affiliated with Anthropic?

No. BrewPage is an independent publishing service. Claude is a product of Anthropic.