shipslides
← Back to blog

How to Share Any AI-Generated HTML (Claude, ChatGPT, Gemini, v0, Bolt)

Something quietly changed in the last year: every major AI tool now emits a single, self-contained HTML file. Claude Artifacts, ChatGPT Canvas, and Gemini Canvas render live pages in a side panel. App builders like v0, Bolt, and Lovable spit out working front ends. Ask any of them for a slide deck, a calculator, a landing page, or a small interactive tool and you get real HTML, CSS, and JavaScript on screen in seconds.

Then you hit the same wall every time: how do I share this with a public link? The output looks finished, but it is trapped inside the tool that made it. This guide covers the one pattern that works no matter which AI produced the file — how to share AI generated HTML as a clean, public, sandboxed URL you actually control — and then points you to a specific walkthrough for whichever tool you are using.

Why native publishing keeps falling short

To be fair, most of these tools do offer some form of sharing. But native publishing tends to be built for the tool, not for you. The recurring problems when you try to host an AI generated page the native way:

  • Login-gated interactivity. The interactive version often only runs for signed-in users, so the person you share with sees a stripped-down or blocked page.
  • Ephemeral-feeling. Links are tied to a chat thread or a project that can move, expire, or change under you.
  • Un-embeddable. You usually cannot drop a live, interactive artifact into Notion, WordPress, or your own site as a self-contained iframe.
  • Un-brandable. No clean path, no custom title, no control over how it presents. It looks like the tool's page, not yours.
  • Indexed without your control. Some galleries surface shared creations publicly; others hide them entirely. Either way you are not the one deciding.

None of this means the AI tools are bad. They are builders, not hosts. You still need somewhere to put the finished page — one place, with predictable rules, that treats the output as yours.

The universal 3-step pattern

Whether the file came out of Claude, ChatGPT, Gemini, v0, or Bolt, the flow to publish AI HTML is the same three steps.

Step 1 — Get a single self-contained .html file. Ask the AI to output the full page as one file with all CSS and JavaScript inlined and no external network calls. A prompt like this works across every tool:

Rewrite this as one complete, self-contained index.html file.
Inline all CSS and JavaScript. Do not load any external CDNs,
fonts, or APIs that need network access. It must render
correctly when opened as a single local file, offline.

Step 2 — Upload it to Shipslides. Go to the upload page and drop in your index.html file. No account, no build step, no config.

Step 3 — Get a clean URL and embed snippet. You immediately get a /d/<slug> page plus a copy-paste iframe embed. The untrusted JavaScript from the AI runs safely inside a locked-down sandbox, so you can open and share it without worrying about what the generated code does.

Guides by tool

The pattern above is the same everywhere, but each tool has its own quirk — where the download button lives, how to coax it into one file, what breaks. Pick your source and follow the specific walkthrough:

Why Shipslides for AI output specifically

You can host HTML in a lot of places. What makes Shipslides a good fit for AI-generated output in particular is that it is built around the assumption that the code came from somewhere you do not fully trust — a model, a stranger, a shared prompt.

  • Strict sandbox. Every page runs inside a locked-down iframe with a tight Content Security Policy. It is safe to open and share a stranger's or an AI's interactive HTML without it touching cookies, storage, or other origins.
  • Embeddable player. Each page ships with an iframe snippet, so the same artifact renders live inside your site, docs, or blog.
  • Slide and transcript SEO. For decks, Shipslides extracts the outline and a crawlable text transcript around the player, so the content can actually be found.
  • Free and permanent. The URL is a real, stable page — not a preview that expires when your chat session does.

An honest note on self-hosting

If your output is a pure static, non-slide website, you have other good options. Reveal.js and Slidev decks, or any hand-built page, can live on GitHub Pages, Netlify, or Vercel just fine. Those platforms are excellent for a project you maintain over time.

The tradeoff is setup and terms. Self-hosting means a repo, a build, a deploy pipeline, and often a cold-start learning curve — more than most people want for a one-off page an AI generated in a minute. Some free tiers also restrict commercial use. For a quick, safe, presentation-friendly link you can hand off today, uploading a single file to Shipslides is the faster path. Reach for self-hosting when you are committing to a page long-term; reach for Shipslides when you just want to share a vibe coded app or deck right now.

Frequently asked questions

What counts as a self-contained HTML file?

A single .html file that includes everything it needs to render: the markup, all CSS inside a <style> tag, and all JavaScript inside a <script> tag. No links to external stylesheets, no CDN script tags, no network calls to fonts or APIs. The simplest test is to open the file directly in your browser with your Wi-Fi off. If it looks and behaves exactly right, it is self-contained and ready to upload.

Will the AI app's JavaScript still run?

Yes. Shipslides serves your page inside a sandboxed iframe that executes JavaScript, so buttons, animations, canvas drawing, charts, and local state all work the way they did in the AI preview. The only thing the sandbox blocks is reaching out to other hosts. If your generated code pulls in a library or font from a CDN, ask the AI to inline that dependency so the page has zero network requirements.

Can viewers open it without an account?

Yes. Every published page lives at a public /d/ URL that anyone can open in any browser — no login, no sign-up, no paywall between your viewer and the page. That is the main reason people move AI output off the native preview: the finished page should be shareable with anyone, not gated behind the account that generated it.

Can I embed it in Notion, WordPress, or Slack?

Yes. Each page comes with an iframe embed snippet you can paste into WordPress, your own site, or any docs page that accepts embeds. Notion and Slack embed by URL — drop the /d/ link in and it renders a live preview inline. Because the page is a real hosted URL, it works anywhere that accepts a link or an iframe.

Turn your AI output into a link

Upload the HTML and get a free, sandboxed, shareable link in seconds.

Upload to Shipslides