> ## Documentation Index
> Fetch the complete documentation index at: https://docs.inklyai.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Embed and share

> Share a hosted demo with a link, or drop it into any site as an inline iframe or a popup.

Every demo you host has a shareable URL, and you can embed a demo or hub into another site without writing custom glue code.

## Share a link

Each hosted demo lives at a public URL on your **hub**, and CLI-published snapshots get their own standalone link at `/p/<id>`. Send either link directly, or use it as the source for an embed. See [Hosting and publishing](/platform/hosting) for how hosted URLs are structured.

<Note>
  A `/p/<id>` snapshot is a frozen copy of a single demo with no hub around it. The unguessable id in the URL is the access control, and snapshot pages are not indexed by search engines.
</Note>

## Open embed options

Open **Share** from a published demo to copy embed snippets. There are two presentations:

* **Inline embed** — drop an `<iframe>` straight into the page. The hub and any demo opened inside it render inline with no player chrome.
* **Popup embed** — add a small loader script and a trigger button. Clicking the button opens the hub in a near-full-screen modal.

### Inline snippet

The settings panel builds a snippet like this, with the width and height you choose:

```html theme={null}
<iframe
  src="https://your-inkly-host/hub/<your-hub-slug>?embed=inline"
  width="100%"
  height="800"
  frameborder="0"
  allow="clipboard-read; clipboard-write; fullscreen"
  allowfullscreen
></iframe>
```

Use the generated snippet when possible. It keeps the embed mode and sizing options in sync with the platform.

### Popup snippet

The popup uses a shared loader plus a trigger button. The loader installs `Inkly.open()`:

```html theme={null}
<script>window.Inkly=window.Inkly||{q:[],open:function(){(this.q=this.q||[]).push(arguments)}};</script>
<script src="https://your-inkly-host/embed-v1.js" async></script>
```

```html theme={null}
<button onclick="Inkly.open('https://your-inkly-host/hub/<your-hub-slug>')">
  View demos
</button>
```

The settings panel can generate the trigger button for plain HTML, React, Next.js, Vue, and Svelte, and you can set the button label.

<Note>
  Inline embeds can resize to fit the demo's aspect ratio. In chrome-free inline mode, share and fullscreen controls are hidden, and the "Built with Inkly" attribution badge stays visible.
</Note>
