Guide
How to host a Claude artifact as a web page
Updated 30 October 2026
First get the artifact out of Claude as an HTML file. Then pick the host by who should open it: a static host such as Netlify Drop, GitHub Pages or Cloudflare Pages for a public page on your own domain, or ashare.net when only your company, specific emails or holders of a password should get in. ashare has no custom domains: if you need docs.yourcompany.com, use a static host.
Get the HTML out of Claude
- A chat artifact made before 16 September 2026. The controls at the top of the artifact panel let you view the code, copy it or download it.
- A design. Export it as standalone HTML. A doc exports to Markdown, which ashare renders too.
- A Claude Code artifact. It is already a file on your disk. Claude writes it to a temporary directory unless you name a location, so ask for one: “save it to
site/index.html”.
React. Static hosts and ashare serve files; they don’t build code. If what you have is a React component rather than a page, ask Claude to turn it into one self-contained HTML file:
Turn this artifact into a single self-contained index.html that loads React from a CDN, with all CSS and data inline, so it runs when opened from any web server.Or build it with your bundler and upload the output folder. Parts of an artifact that call Claude, your connectors or the artifact’s storage depend on claude.ai and stop working on any other host.
The options
| Option | Who can open it | Your own domain | Best for |
|---|---|---|---|
| Claude’s own link | A published chat artifact: anyone with the link. Others: people with a Claude account, per your sharing settings | No, it stays on claude.ai | Showing an artifact without moving it |
| Netlify Drop | Anyone with the link; a site-wide password on Netlify’s Pro plans | Yes | A quick public page, no account needed to start |
| GitHub Pages | Anyone; private publishing only on GitHub Enterprise Cloud, for people with read access to the repository | Yes | A page that lives next to its code |
| Cloudflare Pages | Anyone | Yes | A public site, uploaded from the dashboard or the CLI |
| ashare.net | Only you until you choose: your company domain, up to 100 emails, or anyone with a password, with an optional expiry | No, links are ashare.net/a/<id> | A page only the right people open, which the agent keeps updating |
A public page on your own domain
Netlify Drop. Put the HTML in a folder (named index.html if it is the start page), open app.netlify.com/drop and drag the folder in; unzip a ZIP first. Netlify gives it a .netlify.app address, and you add your own domain in the project’s domain settings. To update it, drag the new folder onto the project’s Deploys page. A site-wide password needs a Netlify Pro plan; Netlify’s credit-based Free and Personal plans don’t have it (Netlify docs).
GitHub Pages. Commit the file to a repository and turn on Pages. It works from public repositories on GitHub Free, and from private ones on Pro, Team and Enterprise. The site sits on github.io or your domain (GitHub docs).
Cloudflare Pages. Direct Upload takes a folder by drag and drop (up to 1,000 files) or with Wrangler (up to 20,000), 25 MiB per file. A subdomain needs a CNAME; an apex domain has to be on Cloudflare (Cloudflare docs).
Self-hosting. A self-contained HTML file needs no runtime: any web server or bucket that serves static files can host it.
A link only the right people open
With the ashare connector in claude.ai, or the plugin or MCP server in Claude Code (setup), ask:
Publish this artifact to ashare for everyone at our companyClaude publishes the HTML and gives you a link. Readers confirm their email with a 6-digit code, or sign in with Google or Microsoft, and need no Claude account. Instead of the company, name people by email, or make it public with a password and an expiry. Each fix Claude publishes is a new version at the same link, and readers can compare any two. A folder goes up as a small site: up to 200 files, 25 MB in all, and links between its pages work.
ashare runs each document in a sandbox on its own host. Scripts, libraries from CDNs, external images and fetch work. Forms don’t submit, and there is no server code or build step. Documents aren’t indexed by search engines, so ashare is no place for a page you want found.
Embed the artifact in Notion or a website
From Claude. A published chat artifact has Get embed code, with an Allowed domains field for the sites that may show it.
From ashare. A document shows in a frame only on ashare.net until you allow sites: up to 20, such as https://www.notion.so, or * for any. Embedding on the document page gives you the <iframe> code, or ask the agent:
Let https://www.notion.so embed the ashare documentIn Notion, add an Embed block and paste the link. Embed public documents without a password: readers can’t sign in inside someone else’s site.
Custom domain
ashare doesn’t offer one, and Claude’s link stays on claude.ai. For a page on your own domain, Netlify, GitHub Pages and Cloudflare Pages all take one. If the page is public anyway, they are the better choice; ashare is for pages that need a login.
ashare.net: your agent publishes HTML or Markdown and you choose who opens it: your company, specific emails or a password. Readers comment, the agent fixes the document.
Connect your agent