The shortest path to deploying a Claude artifact as a real website is to paste the artifact URL into InstaPods Import, click Deploy, and use the live URL it gives you. Total time: about ten seconds. No GitHub setup, no build step, no DevOps.

If you want to stay on Claude’s own claude.ai/public/artifacts/<id> URL, you can; we explain why that breaks for production use below. If you want to copy the source by hand and deploy through your usual flow, that works too. This guide covers all three paths, with the tradeoffs of each.

We built the InstaPods Import flow because we ship Claude artifacts ourselves and got tired of the Anthropic branding bar showing up at the top of pages we wanted on our own domain.

Quick answer

Three options, ranked by ease:

  1. InstaPods Import (recommended): paste the artifact URL at instapods.com/dashboard/import, click Deploy. Live URL on your own subdomain in ten seconds. Free pod on the Launch plan, no card required.
  2. Claude’s built-in Publish: click Publish in the artifact panel. Get a claude.ai/public/artifacts/<uuid> URL with Anthropic’s branding bar. Free, but the URL is on claude.ai and Anthropic controls it.
  3. Copy source + deploy manually: open the artifact’s code view, copy the HTML or JSX, paste into a fresh project, push to Vercel/Netlify/your VPS. Most work, most control.

Why “Publish” inside Claude isn’t enough

Claude’s Publish button works. The result is a real, public URL that loads fast and works without an account. For sharing a quick prototype with one colleague, it’s perfect.

The limits show up as soon as you want the artifact to be more than a prototype:

For internal demos and quick share-arounds, Publish is fine. For anything you want indexed by Google, embedded in a product, or branded as yours, you need a different deploy.

The three paths in detail

Methods for deploying a Claude artifact to a real website
Method Time Custom domain? Removes Claude branding? Cost
Claude Publish~5 secondsNoNo (header bar stays)Free
InstaPods Import~10 secondsYesYes$0-3/mo
Copy source + Vercel/Netlify~10-15 minutesYesYes$0-20/mo
Copy source + raw VPS~2-4 hours first timeYesYes$4-5/mo

The InstaPods Import path is the only one that turns the artifact URL directly into your-domain hosting without a copy-paste step. The rest of this guide walks through it.

Step-by-step: deploy a Claude artifact in 10 seconds

The full workflow.

Step 1: Make sure your artifact is published

In Claude, open the artifact panel and click the Publish button in the top-right corner. Confirm if Claude asks. You’ll get a URL of the form https://claude.ai/public/artifacts/<uuid>. Copy it.

If the artifact is private (no Publish click), InstaPods Import can’t reach it; Anthropic gates private artifacts behind your account. Publish it first, then deploy. You can always unpublish later; it doesn’t affect the deployed copy.

Step 2: Sign up or log into InstaPods

Go to app.instapods.com and sign up. The first pod is free for 7 days; no credit card needed for the import flow.

Step 3: Open the Import page

Click Import in the sidebar, or go directly to /dashboard/import.

Step 4: Paste and deploy

Paste the artifact URL into the URL field. The page detects “Claude artifact” automatically and renders a preview tile underneath. Click Preview to see the artifact rendered inline if you want to verify it’s the right one.

Click Deploy.

That’s the entire flow. InstaPods:

  1. Fetches the artifact source from claude.ai (we parse Anthropic’s RSC payload to extract the actual HTML, React, SVG, or Mermaid output).
  2. Picks the right preset (static for HTML/SVG/Mermaid, static with a React wrapper for JSX).
  3. Creates a real Linux pod with HTTPS auto-issued.
  4. Pushes the artifact files to the pod.
  5. Returns the live URL.

Total elapsed time: about ten seconds. You’re redirected to the pod’s dashboard page; the live URL is clickable at the top of it.

Step 5: Visit the live site

The URL is https://<your-pod-name>.<region>.instapods.app. No Anthropic header bar. No branding that isn’t yours. Just your artifact, on your subdomain, with HTTPS.

Adding your own custom domain

The default subdomain is fine for sharing. For something you want indexed, branded, or linked from elsewhere, point a custom domain at the pod.

  1. Buy a domain (Namecheap, Porkbun, Cloudflare, wherever).
  2. In your pod’s dashboard, go to the Domains tab. Add your domain.
  3. Set the CNAME record at your registrar to point at the value InstaPods shows.
  4. Wait 1-5 minutes for DNS propagation; SSL auto-issues.

Now your Claude artifact is live at yourbrand.com, with no trace of claude.ai in the URL or the page.

Multiple domains per pod work fine if you want, say, both myapp.com and myapp.app to serve the same artifact.

Environment variables and dynamic data

Claude artifacts are usually self-contained: a single HTML file or a React component with no backend dependencies. If yours is too, skip this section.

If your artifact makes external API calls (to OpenAI, to your own backend, to a public API), you’ll want to set environment variables instead of hardcoding keys in the source. After the import:

For artifacts that call out to your own backend, point the API URL at a real domain (not localhost). The deployed artifact runs on a real Linux server; localhost won’t resolve to your machine.

Live Artifacts with MCP connections

Claude’s Live Artifacts feature lets an artifact pull data from Notion, Slack, Google Sheets, or Gmail via MCP connectors. These don’t transfer when you deploy.

The MCP connection is between your Claude account and the third-party service. The deployed copy doesn’t have that connection, and recreating it would require credentials you probably don’t want to hardcode into a public website.

What works:

What doesn’t work:

When the import hits a wall

Things that occasionally go sideways and how to fix them.

”Claude returned HTTP 404”

The artifact is private. Open it in Claude, click Publish, copy the URL again. Re-run the import.

”no importer matches URL”

The URL is not a Claude artifact URL. We handle claude.ai/public/artifacts/<uuid> and chatgpt.com/canvas/shared/<id>. If you have a ChatGPT canvas, the import flow handles that too; just paste the canvas URL.

The deployed site looks broken

Two likely causes:

  1. The artifact uses external assets that point at claude.ai. Claude sometimes generates code that references its own CDN. Open the pod’s files via the dashboard’s Web IDE, find the broken URL, replace with a CDN you control (or inline the asset).
  2. The artifact relies on the Claude runtime. A small number of React artifacts use Claude-specific browser APIs. These don’t work outside of claude.ai. We log a warning in the import event if we detect this; check the pod’s events tab.

”pod name already exists”

Happens when you re-import the same artifact title. We auto-suffix with -2, -3, etc., or you can specify a different name in the Import form. The auto-suffix path is the default if you leave the Pod Name field blank.

The CLI path (for the terminal-comfortable)

You can run the import from the command line instead of the dashboard. If you have the InstaPods CLI installed:

curl -fsSL https://instapods.com/install.sh | sh
instapods login
instapods import https://claude.ai/public/artifacts/<uuid>

Output:

✓ Detected Claude artifact (text/html)
✓ Title: "Your artifact title"
✓ Creating pod
✓ Uploading files (45 KB)
✓ Imported 1 file from claude
  → https://your-artifact-title.nbg1-1.instapods.app

Useful for: scripting (deploy several artifacts at once), CI workflows, or anyone who lives in the terminal. Add --dry-run to preview without creating a pod.

Cost

The InstaPods Launch plan is $3/mo flat, with no credit card needed for the first 7 days. Most Claude artifacts fit comfortably on Launch (1 vCPU, 512MB RAM, 10GB disk, sub-second response time on the static preset).

If your artifact is a React component with heavy dependencies or you’re hosting many artifacts on one pod, the Build plan at $7/mo gives you more headroom. The pricing is flat per pod per month; no bandwidth charges, no per-request billing.

Comparison vs alternatives:

For one-paste Claude artifact deploys with HTTPS and a real domain, InstaPods is the only option that’s actually one paste.

FAQ

How do I share a Claude artifact publicly?

The easiest way is to click the Publish button in the artifact panel inside Claude. You get a URL of the form claude.ai/public/artifacts/<uuid> that anyone can visit without a Claude account. The page has Anthropic’s branding bar at the top. For more control over the URL and branding, deploy the artifact through InstaPods Import and get a URL on your own subdomain or domain.

Can I deploy a Claude artifact to my own domain?

Yes. The Claude Publish button only gives you a claude.ai/public/artifacts/<id> URL on Anthropic’s domain. To use your own domain, deploy the artifact through a third-party host. InstaPods Import does this in one paste: it fetches the artifact source, creates a pod, and assigns a subdomain you can point a custom CNAME at.

Is it free to deploy a Claude artifact?

The InstaPods Launch plan is $3/mo, but the first pod is free for 7 days with no credit card required. Free static hosting elsewhere (Cloudflare Pages, Vercel Hobby) is possible if you copy the source out of Claude by hand and configure the build pipeline yourself.

Will my artifact still work after I deploy it?

Yes, for the common cases. Plain HTML, SVG, Mermaid diagrams, and React components without claude.ai-specific browser APIs all work fine on the deployed copy. The two cases that don’t transfer: artifacts that use Live Artifact MCP connectors (the MCP connection is account-scoped), and artifacts that reference assets hosted on claude.ai (those URLs need to be replaced).

Can I edit a deployed Claude artifact?

Yes. After the import, the pod has the artifact source as files you can edit via the InstaPods Web IDE, via SSH, or by syncing changes locally. If you want to keep using Claude as the editor, you can re-import the updated artifact to a new pod (auto-suffixed) or replace the files in the existing pod.

What about ChatGPT canvas? Same flow?

Yes. The InstaPods Import flow handles both Claude artifacts and ChatGPT canvases. Paste the canvas URL (chatgpt.com/canvas/shared/<id>) instead of a Claude artifact URL; the same Deploy button works. See the Claude artifacts vs ChatGPT canvas comparison if you’re picking between them.

How big can a Claude artifact be?

The Launch plan’s 10GB disk handles essentially any artifact (most are well under 100 KB). The constraint is more about runtime: artifacts with heavy dependencies (React + Tailwind + Recharts) work fine but might want the Build plan’s 1GB RAM during initial load.

Can I use the import flow programmatically?

Yes. The InstaPods CLI exposes instapods import <url> and the same flow is available via the public API at POST /api/imports. Useful for automating deploys from a CI workflow or a personal script that fetches several artifacts at once.

Next steps

If you have a published Claude artifact and want to test the deploy:

  1. Copy your artifact URL (it looks like claude.ai/public/artifacts/<uuid>).
  2. Go to instapods.com/dashboard/import.
  3. Paste, click Deploy. Live URL in ten seconds.

If you want to read more first: