Add the editor to
any website in minutes.

Three ways to embed Darkroom — pick the one that fits how your site is built. No framework required, no build step needed.

1
HTML Snippet
Easiest
▼

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.

Paste into your HTML
<!-- 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.

2
Direct Iframe
Simple
▼

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.

Direct iframe
<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:

Standalone URL
https://confidewebdesign.com/darkroom.html
3
Script Tag (Developer)
Developer
▼

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.

In your <head>
<script
  src="https://confidewebdesign.com/darkroom-embed.js"
  data-container="my-editor-container"
  data-height="80vh"
  data-radius="12px"
  defer></script>
In your HTML body
<div id="my-editor-container"></div>

Customisation Options

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.

Common Questions

Answers to things people usually ask before going live.

Will Darkroom work on mobile? ▼
Yes. The editor is fully touch-aware — all sliders, the crop tool, and the toolbar are designed for both mobile and desktop.
Do I need to install anything? ▼
No. The embed is a single script tag. There's no npm package to install, no build step, and no dependencies your page needs to load separately.
Where does the user's photo go? ▼
Nowhere. Everything happens locally in the user's browser. Photos are never uploaded to any server — they're processed on-device and exported straight to the user's device.
Can I change the height after the page loads? ▼
Yes — the container div is just a normal element. You can resize it with CSS or JavaScript at any time and the iframe will follow.
Will it slow down my page? ▼
The embed script is tiny and the iframe uses loading="lazy", so it won't block your page from loading. The editor itself only initialises when it scrolls into view.
Something isn't working — how do I get help? ▼
Open your browser's developer console (F12 → Console tab) and check for any red error messages. Copy those and send them over — that's usually all we need to figure it out fast.