Put a QR code on your site. 🐾
One script tag. Any website. Free forever, static, and nothing is ever uploaded or tracked.
The QR Puppy embed widget turns any element into a static QR code, rendered right in your visitor's browser. There's no account, no API key, no per-scan fee, and no external request — the code is generated on the page and can't be tracked or switched off.
The one-tag version
Drop this where you want the code, then add the script once (anywhere on the page):
<div data-qrpuppy="https://example.com" data-size="200"></div>
<script src="https://qrpuppy.com/embed/qrpuppy-embed.js" async></script>
Every element with a data-qrpuppy attribute on the page becomes a QR code. That's it.
Options
Set these as data- attributes on the element:
| Attribute | Default | What it does |
|---|---|---|
data-qrpuppy | — | the content to encode (a URL, Wi-Fi string, mailto:, or any text) |
data-size | element width | pixel width of the code |
data-ecl | M | error correction: L, M, Q or H |
data-dark | #111111 | module color |
data-light | #ffffff | background color |
A Wi-Fi example
<div data-qrpuppy="WIFI:T:WPA;S:GuestWiFi;P:hunter2;;" data-size="220" data-dark="#7c3aed"></div>
Guests scan it to join your network — no password typed, no app needed.
Adding codes dynamically
If you insert data-qrpuppy elements after the page loads, call the API to render them:
QRPuppy.renderAll(); // (re)scan the whole page
QRPuppy.render(myElement); // render one element
Where it works
Anywhere you can paste HTML or a custom-code block, including:
- Website builders: Webflow, Squarespace (Code Block), Carrd, Softr, Duda, GoDaddy, Wix (custom element).
- Blogs & CMS: WordPress (Custom HTML block), Ghost (HTML card), Blogger (HTML gadget), Drupal, Joomla.
- Courses & commerce: Kajabi, Teachable, and most store themes.
- Static sites: Hugo, Jekyll, Eleventy, or any hand-written HTML.
Prefer to self-host?
You don't have to load the script from us. Download qrpuppy-embed.js, drop it next to your site's files, and point the src at your own copy. It's a single self-contained file with no dependencies — the most private option, and it keeps working even if our site is down.
Free, static, yours 🐾
No subscription, no scan limit, no tracking — ever. Verify it in the source.