# How to Share Claude Artifacts at a URL You Control

> Turn a Claude artifact into a permanent URL: get the HTML out of the chat, publish it over MCP or the CLI, and update it later without breaking the link.

Published: 2026-06-12  
Author: Damjan Malis (Founder, dropthis)  
Canonical: https://dropthis.app/blog/how-to-share-claude-artifacts/

## Key takeaways

- Claude's built-in share link covers quick show-and-tell; publish the artifact yourself when you need a URL you control — custom domain, password, updates, expiry.
- HTML artifacts are self-contained: copy the code or download the file and it runs anywhere, no build step.
- Publish without leaving the chat via an MCP connector, or from a terminal with one CLI command.
- Save the drop id from the publish response — it's what lets you update the page later instead of creating a duplicate.
- Free drops expire after 7 days and carry up to 5 MB; Pro makes them permanent and raises the limit to 100 MB.

Claude artifacts are the fastest way to get a working page, game, or dashboard out of a conversation — and the slowest thing to get out of the chat window. If you want to share Claude artifacts with someone who wasn't in the conversation, you have two options: Claude's built-in share link, or publishing the artifact yourself at a URL you control. This tutorial covers the second path, and when it's worth the extra sixty seconds.

## What are Claude artifacts, and when do you need your own link?

Artifacts are standalone outputs — HTML pages, React components, documents, diagrams — that Claude renders in a side panel ([introduced by Anthropic in June 2024](https://www.anthropic.com/news/artifacts)). Claude can share one at a public link, which is fine for show-and-tell. Publish it yourself when you need control: your domain, a password, updates in place, or an expiry you choose.

The control argument in one table:

| | Built-in share link | Published yourself |
| --- | --- | --- |
| URL | Anthropic's domain | Your drop URL or custom domain |
| Update in place | Re-share, new state | Same URL, new content |
| Password protection | No | Yes (Pro) |
| Search-engine control | Platform default | Your `noindex` choice |
| Expiry | Platform policy | 7 days free, permanent or scheduled on Pro |
| Mix multiple artifacts | No | Yes — publish a folder |

If none of those rows matter for the thing you just made, use the built-in link and stop reading. If one of them does, the rest takes about a minute.

## How do you get an artifact out of the chat?

Open the artifact panel and either copy the code or download it as a file. HTML artifacts are self-contained — markup, styles, and script in one document — so what you copy is exactly what a browser needs. No build step, no dependencies, no framework runtime to install.

Two practical notes from publishing a lot of these:

- **Copy beats screenshot-and-rebuild.** The artifact source is the deliverable. People rebuild artifacts in site builders far more often than they should.
- **React artifacts need an export step.** Unlike HTML artifacts they assume a React runtime. Ask Claude to "convert this artifact to a single self-contained HTML file" first — it does this reliably, and the result publishes anywhere.

## How do you publish the artifact to a URL?

The fastest path never leaves the chat: with a publish MCP connector installed, ask Claude to publish the artifact and it calls the tool itself — content in, URL back as the tool result. With [dropthis's connector](https://docs.dropthis.app), that's the `dropthis_publish` tool over the [Model Context Protocol](https://modelcontextprotocol.io/specification/2025-06-18), authenticated once with OAuth.

From a terminal it's one command on the downloaded file:

```bash
dropthis artifact.html --url
# → https://yourslug.dropthis.app/
```

Either way the response carries two things: the live URL and a drop id. The URL is for your audience. The id is for you — write it down next to the artifact, because it's the difference between updating the page and accumulating five stale copies of it. (Why ids and not URLs? See [how agents keep publish and update straight](/blog/how-ai-agents-publish-to-the-web/).)

## How do you update the page without changing the URL?

Pass the saved id to an explicit update verb: `update_content` over MCP, or `dropthis drops update <id> artifact.html` from the terminal. The URL your audience has keeps working; only the content changes. Publishing again instead would mint a second URL and strand everyone holding the first one.

This is the step both humans and agents get wrong, which is why it's a [whole topic of its own](/blog/pillars/sharing-ai-work/) in agent publishing. The rule is short: **publish once, update forever.** One artifact, one id, one URL for its whole life.

If you need the page to behave differently — password it, hide it from search, hang it on your own domain — that's `update_settings`, separate from content updates, so changing one never clobbers the other.

## What about ChatGPT canvases and other AI output?

The same workflow applies to anything that produces HTML: ChatGPT canvases, Gemini outputs, agent-generated reports, or a folder your coding agent just built. Get the markup out, publish it, keep the id. The only thing that changes per platform is the export step — the publish-and-update loop is identical.

That's the deeper point behind this tutorial: AI tools are converging on generating publishable things, and the missing piece is rarely generation quality — it's a stable URL with your name on it. Whether the generator is Claude, ChatGPT, or [an autonomous agent publishing over MCP](/blog/how-ai-agents-publish-to-the-web/), the contract you want underneath is the same: one call in, one URL out, updates that never break links. The surface — MCP, CLI, SDK, or REST — is just the transport. The permanence is the product.

## Frequently asked questions

### Can someone view a shared Claude artifact without a Claude account?

Yes, if you publish it as a regular web page. A published artifact is plain HTML at a public URL — viewers need nothing but a browser. Claude's built-in share links also work without an account for the viewer, but the page lives on Anthropic's domain, outside your control.

### Does Claude have a built-in way to share artifacts?

Yes. Claude can publish an artifact to a public share link, and for quick show-and-tell that is the fastest path. Publishing it yourself matters when you need updates at the same URL, a custom domain, password protection, search-engine control, or content assembled from more than one artifact.

### Do published artifact pages expire?

Depends on the plan. On dropthis, free drops expire after 7 days, which suits review links and prototypes. Pro drops are permanent until you delete them and can carry up to 100 MB. Either way you can set an explicit expiration when publishing if you want a link to die on schedule.

### Can you password-protect a shared artifact?

Yes. Publish the artifact behind a password so only people with the secret can open it — useful for client work and internal reports. On dropthis this is a Pro setting (set a password at publish time or later via update_settings), and you can combine it with noindex to keep the page out of search.

## Sources

- [Introducing Artifacts](https://www.anthropic.com/news/artifacts) — Anthropic
- [Model Context Protocol specification](https://modelcontextprotocol.io/specification/2025-06-18) — Model Context Protocol
- [dropthis documentation](https://docs.dropthis.app) — dropthis
- [dropthis OpenAPI specification](https://dropthis.app/openapi.json) — dropthis