Free widget · no account · no API key
Embed a free QR code generator on your website
One copy-paste snippet gives your readers a full QR code generator that runs in their browser — custom colours, logo, PNG, SVG and print-ready PDF. No ads, no watermark, no data collection, and the codes it makes can never expire. All we ask is a small credit link under the widget.
Pick a tool
Seven generators below — URL, WiFi, vCard, text, email, WhatsApp, SMS. Each has its own snippet.
Paste the snippet
One iframe plus one credit line. It works in any CMS that accepts HTML: WordPress, Webflow, Squarespace, Ghost, plain pages.
That's it
Your visitors make QR codes without leaving your page. The tool runs in their browser, so there is no quota, no API key and nothing that can expire.
Live: this is the widget
The URL generator, embedded on this page with the exact snippet below it. What you see is what your visitors get.
The seven embeddable tools
URL QR code generator try it →
The all-rounder: any link becomes a QR code. Right for menus, reviews, portfolios, campaign pages.
<!-- OathQR — free URL QR code generator, runs in the visitor's browser -->
<iframe src="https://oathqr.com/embed/url" title="URL QR code generator" style="width:100%;max-width:760px;height:680px;border:1px solid #dcdcd5;border-radius:14px" loading="lazy"></iframe>
<p style="margin:6px 0 0;font-size:13px">Powered by <a href="https://oathqr.com/url-qr-code-generator">OathQR — free URL QR code generator that never expires</a></p>
<script>addEventListener("message",function(e){if(e.origin==="https://oathqr.com"&&e.data&&e.data.oathqr==="height")for(var f of document.querySelectorAll('iframe[src^="https://oathqr.com/embed/"]'))if(f.contentWindow===e.source)f.style.height=e.data.height+"px"})</script>WiFi QR code generator try it →
Guests point their camera and join the network. A favourite for cafés, rentals and waiting rooms.
<!-- OathQR — free WiFi QR code generator, runs in the visitor's browser -->
<iframe src="https://oathqr.com/embed/wifi" title="WiFi QR code generator" style="width:100%;max-width:760px;height:680px;border:1px solid #dcdcd5;border-radius:14px" loading="lazy"></iframe>
<p style="margin:6px 0 0;font-size:13px">Powered by <a href="https://oathqr.com/wifi-qr-code-generator">OathQR — free WiFi QR code generator that never expires</a></p>
<script>addEventListener("message",function(e){if(e.origin==="https://oathqr.com"&&e.data&&e.data.oathqr==="height")for(var f of document.querySelectorAll('iframe[src^="https://oathqr.com/embed/"]'))if(f.contentWindow===e.source)f.style.height=e.data.height+"px"})</script>vCard contact QR code generator try it →
A contact card that saves straight into the phone. For team pages, email signatures, event badges.
<!-- OathQR — free vCard contact QR code generator, runs in the visitor's browser -->
<iframe src="https://oathqr.com/embed/vcard" title="vCard contact QR code generator" style="width:100%;max-width:760px;height:780px;border:1px solid #dcdcd5;border-radius:14px" loading="lazy"></iframe>
<p style="margin:6px 0 0;font-size:13px">Powered by <a href="https://oathqr.com/vcard-qr-code-generator">OathQR — free vCard contact QR code generator that never expires</a></p>
<script>addEventListener("message",function(e){if(e.origin==="https://oathqr.com"&&e.data&&e.data.oathqr==="height")for(var f of document.querySelectorAll('iframe[src^="https://oathqr.com/embed/"]'))if(f.contentWindow===e.source)f.style.height=e.data.height+"px"})</script>Text QR code generator try it →
Plain text in a code: instructions, serial numbers, a message. No link needed.
<!-- OathQR — free Text QR code generator, runs in the visitor's browser -->
<iframe src="https://oathqr.com/embed/text" title="Text QR code generator" style="width:100%;max-width:760px;height:680px;border:1px solid #dcdcd5;border-radius:14px" loading="lazy"></iframe>
<p style="margin:6px 0 0;font-size:13px">Powered by <a href="https://oathqr.com/text-qr-code-generator">OathQR — free Text QR code generator that never expires</a></p>
<script>addEventListener("message",function(e){if(e.origin==="https://oathqr.com"&&e.data&&e.data.oathqr==="height")for(var f of document.querySelectorAll('iframe[src^="https://oathqr.com/embed/"]'))if(f.contentWindow===e.source)f.style.height=e.data.height+"px"})</script>Email QR code generator try it →
Opens a pre-addressed email, subject and body included. Support pages love it.
<!-- OathQR — free Email QR code generator, runs in the visitor's browser -->
<iframe src="https://oathqr.com/embed/email" title="Email QR code generator" style="width:100%;max-width:760px;height:680px;border:1px solid #dcdcd5;border-radius:14px" loading="lazy"></iframe>
<p style="margin:6px 0 0;font-size:13px">Powered by <a href="https://oathqr.com/email-qr-code-generator">OathQR — free Email QR code generator that never expires</a></p>
<script>addEventListener("message",function(e){if(e.origin==="https://oathqr.com"&&e.data&&e.data.oathqr==="height")for(var f of document.querySelectorAll('iframe[src^="https://oathqr.com/embed/"]'))if(f.contentWindow===e.source)f.style.height=e.data.height+"px"})</script>WhatsApp QR code generator try it →
Starts a WhatsApp chat with a pre-filled message. Big with local businesses.
<!-- OathQR — free WhatsApp QR code generator, runs in the visitor's browser -->
<iframe src="https://oathqr.com/embed/whatsapp" title="WhatsApp QR code generator" style="width:100%;max-width:760px;height:780px;border:1px solid #dcdcd5;border-radius:14px" loading="lazy"></iframe>
<p style="margin:6px 0 0;font-size:13px">Powered by <a href="https://oathqr.com/whatsapp-qr-code-generator">OathQR — free WhatsApp QR code generator that never expires</a></p>
<script>addEventListener("message",function(e){if(e.origin==="https://oathqr.com"&&e.data&&e.data.oathqr==="height")for(var f of document.querySelectorAll('iframe[src^="https://oathqr.com/embed/"]'))if(f.contentWindow===e.source)f.style.height=e.data.height+"px"})</script>SMS QR code generator try it →
Opens the visitor's SMS app with number and message ready to send.
<!-- OathQR — free SMS QR code generator, runs in the visitor's browser -->
<iframe src="https://oathqr.com/embed/sms" title="SMS QR code generator" style="width:100%;max-width:760px;height:780px;border:1px solid #dcdcd5;border-radius:14px" loading="lazy"></iframe>
<p style="margin:6px 0 0;font-size:13px">Powered by <a href="https://oathqr.com/sms-qr-code-generator">OathQR — free SMS QR code generator that never expires</a></p>
<script>addEventListener("message",function(e){if(e.origin==="https://oathqr.com"&&e.data&&e.data.oathqr==="height")for(var f of document.querySelectorAll('iframe[src^="https://oathqr.com/embed/"]'))if(f.contentWindow===e.source)f.style.height=e.data.height+"px"})</script>The fine print, in plain words
Free for any site, including commercial ones.A restaurant blog, an agency's resources page, a newsletter, a client project — all fine. No sign-up, no key, no usage cap.
We can't break your embed, even by accident. The generator runs entirely in your visitor's browser. There is no per-site quota to exhaust and no plan to downgrade — the same oath that covers our own pages covers yours.
Your visitors are not tracked. No cookies, no pixels, no fingerprinting inside the widget. What people type into the generator never reaches our servers.
The one thing we ask:keep the "Powered by OathQR" line that comes with the snippet. That visible credit link is how new people find the tool, and it is the entire price of the widget.
Sizing: the small script in the snippet keeps the widget exactly as tall as it needs to be on every screen, phones included. If your CMS strips scripts, the inline height still fits desktop layouts — raise it to ~1200px if your content column is narrower than 640px. The max-width is yours to change.