Three ways to embed Darkroom — pick the one that fits how your site is built. No framework required, no build step needed.
Paste two lines into your page's HTML — that's it. Works in any website builder (Squarespace, Webflow, Wix, Wordpress, etc.) or a hand-coded site.
<!-- Step 1: Put this where you want the editor to appear -->
<div id="darkroom"></div>
<!-- Step 2: Paste this script tag anywhere after Step 1 -->
<script
src="https://confidewebdesign.com/darkroom-embed.js"
data-container="darkroom"
data-height="700px"
data-radius="16px"></script>
📐 Want it taller or shorter? Change data-height. Use 100vh for full-screen.
If you already know how to embed an iframe, you can point it straight at the Darkroom app URL. Good for page builders with an "embed URL" field.
<iframe
src="https://confidewebdesign.com/darkroom.html"
width="100%"
height="700"
style="border:none;border-radius:16px;display:block;"
allow="clipboard-write"
></iframe>
Or just share this URL directly with your customer — they can open it in any browser:
https://confidewebdesign.com/darkroom.html
For developers who want more control — load the script in your <head> and manually call the container in your JS. Useful when you're dynamically inserting the editor into a SPA or CMS.
<script
src="https://confidewebdesign.com/darkroom-embed.js"
data-container="my-editor-container"
data-height="80vh"
data-radius="12px"
defer></script>
<div id="my-editor-container"></div>
Add these as data-* attributes to the <script> tag.
| Attribute | Default | Description |
|---|---|---|
| data-container | "darkroom" | The id of the div to place the editor inside. |
| data-width | "100%" | Width of the editor. Accepts any CSS value: 100%, 800px, etc. |
| data-height | "700px" | Height of the editor. Try 100vh for full-screen, or a fixed pixel value. |
| data-radius | "12px" | Border radius of the editor frame. Use 0 to remove rounding. |
| data-label | "Darkroom" | Text shown below the loading spinner while the editor initialises. |
Answers to things people usually ask before going live.
loading="lazy", so it won't block your page from loading. The editor itself only initialises when it scrolls into view.