Two jobs in one form: wrap a FIDO:/ hybrid-transport URI from your WebAuthn server for scan-to-sign-in, or link to your passkey enrollment / management page. No passkeys created here — we only encode what your relying party issues.
Verify our privacy claims live, from your browser▾
These values are computed in your browser right now. No server round-trip. Click any row for a one-line explanation.
Outbound requests after page load…Expected: 0Everything runs in your browser, so no data ever leaves after the initial page load.
Third-party domains contacted…Expected: 0No analytics, no CDN fonts, no avatar services, no trackers — single origin only.
Cookies set…Expected: 0No session, no analytics, no preferences in cookies. Nothing to sync, nothing to leak.
localStorage keys…Only your saved QRs and preferencesSaved templates, history, and language preference. Inspected in Application → Local Storage.
Service worker status…Offline-readyStatic assets cached for offline use. You can disable your network and the generator still works.
Network status…Offline proof: turn off WiFi, click Generate. Still works.The simplest proof. If this were secretly a client for a server, offline would break it.
This symbology renders monochrome with foreground and background colours only. Templates, dot/eye shapes, gradients, frames, and centre logos are QR-only features and are hidden here.
Show 30 more templates
Save a style with the button above to keep your favourites here.
#000000
#FFFFFF
#8B5CF6
Or pick a built-in icon:
Show 108 more icons
No icons match your search.
Renders behind the QR at adjustable opacity. Auto-forces EC=H so the QR still scans through the photo.
Batch Generation
Upload a CSV to generate up to 500 QR codes in a single batch. Each row becomes its own QR — pick a template or override 21 properties on a per-row basis: colors, frames, dot/eye/eyeball styles, gradients, transparency, size, error correction, format, built-in logo, and more.
21 columns: type, data, filename, frametext, frame, template, fgcolor, bgcolor, size, ec, dotstyle, eyestyle, format, logo, gradient, g2, gtype, gangle, transparent, eyeball, eyecolor. Only type and data are required. Use | to separate fields inside data (e.g. ssid|password|WPA).
All 125+ QR/barcode types supported, including URL, WiFi, vCard, TOTP, Swiss QR-bill, PIX, PromptPay, ZATCA, PayNow, Bitcoin + Lightning, and more. Download the sample CSV to see every column, all 50 templates, 11 frame styles, and 336 built-in logo icons in action.
1. Download the sample CSV · 2. Edit it in Google Sheets, Excel, Numbers, or any text editor · 3. Upload it here
Save the entire QR — type, all field values, style, frame, logo, business card design — as a single .qr.json file. Load it later to recreate everything in one click.
Enter content to generate your QR code
Encoded payload
Recent
You're editing an existing Pro code. Click "Update Pro code" below to save your changes back to Pro.
Need to change the destination after it's printed?
Optional: save as a Pro shortcode so you can swap the destination later without reprinting. Password-gating, scheduled activation, heatmap and ROI analytics, public stats pages, and a static backup QR. 90-day grace, no lock-in.
Scan a QR code using your camera, upload an image, or paste from clipboard
A passkey is a phishing-resistant replacement for passwords, standardised jointly by the FIDO Alliance and the W3C (WebAuthn Level 3). Instead of a shared secret the user types, the user's device holds a private key and signs a challenge from the website. Apple, Google, and Microsoft all support passkeys natively in iCloud Keychain, Google Password Manager, and Windows Hello respectively; password managers like 1Password, Bitwarden, and Dashlane sync passkeys across devices.
Why does a passkey sign-in need a QR code?
When you sign in on a device that doesn't hold your passkey — a friend's laptop, a desktop that's never paired with your phone — WebAuthn uses CTAP 2.2 hybrid transport (historically called "caBLE") to prove possession of the passkey that lives on your phone. The desktop displays a QR encoding a FIDO:/ URI. You scan it with your phone camera, approve the sign-in with Face ID / Touch ID / PIN, and the two devices complete a BLE-bootstrapped encrypted tunnel to finish the WebAuthn ceremony. The desktop is signed in; no password, no typed code, no shared secret.
What's in the FIDO:/ URI?
The URI encodes a CBOR structure carrying (a) a short-term symmetric session key unique to this sign-in, (b) a long-term asymmetric identity key the phone uses to re-pair silently in future sessions, and (c) BLE advertisement coordinates the phone will listen on. It is single-use for the initial scan — the tunnel key is ephemeral. The server re-issues a fresh URI for each new hybrid-transport handshake.
Two jobs this generator covers
Cross-device sign-in (FIDO:/ URI) — paste a URI your WebAuthn server produced and we wrap it as a QR. Useful when your server renders the URI as text (e.g. for a kiosk display, a printed troubleshooting handout, or a custom authenticator UI).
Passkey management page — encode a stable URL like https://account.example.com/security/passkeys. Print on onboarding cards, add to welcome emails, or surface in-app so users can enroll a passkey without typing a URL.
What this generator is not
We do not create passkeys. A passkey is a cryptographic keypair that is generated on the user's device during the WebAuthn navigator.credentials.create() flow, bound to a specific relying party, and stored in the OS/password-manager credential store. No QR-code tool can generate a passkey — and anything that claims to is either creating something that isn't a passkey, or is a phishing attempt.
Compatibility
The FIDO:/ scheme is supported by: Apple Safari and iCloud Keychain (iOS 16+, macOS Ventura+), Chrome / Chromium-based browsers (desktop and Android), Microsoft Edge, 1Password 8, Bitwarden (browser extension), Dashlane, and Google Password Manager. Keepass variants are still adding support.
Also by Abundera
E-signatures that hold up in court
Abundera Sign goes beyond basic e-signatures. Every document gets cryptographic proof, independent verification, and a tamper-evident evidence package.
Auto-generated court-ready evidence packages
Personal Document Seal — detects tampering instantly
Anchored to 5 independent systems — no single point of failure
A passkey is a device-held cryptographic credential that replaces a password. Your device holds a private key; the website holds the public key. Sign-in proves possession of the private key via a WebAuthn challenge. Phishing-resistant by design — the signature is bound to the origin so a look-alike site can't collect it.
Who issues the FIDO:/ URI?
The relying party (the website you're signing into). Chrome, Safari, and Edge generate one automatically when you click "Sign in with a passkey" on a device that doesn't hold one. Self-hosted WebAuthn servers using libraries like SimpleWebAuthn or WebAuthn4J can produce one programmatically.
Is the FIDO:/ URI reusable?
The session tunnel key inside the URI is single-use. The long-term identity key enables the phone to re-pair silently for future sessions — so after the first scan, the user can sign in on that desktop again without re-scanning. But each fresh ceremony on a brand-new device requires a fresh QR.
Can I print this QR and reuse it?
No. The URI is session-specific and expires the moment the WebAuthn ceremony times out (usually 60–120 seconds). If you want a QR for printed onboarding material, use the "Passkey management page" mode instead and encode a stable URL.
Does this QR contain my passkey?
No. The passkey (private key) stays on the user's phone / authenticator and never leaves it. The FIDO:/ URI carries only session material for the two devices to establish an encrypted tunnel. This is a core design property of WebAuthn: private keys are non-exportable.
Which browsers and apps scan FIDO:/ URIs?
Apple Safari (iOS 16+, macOS Ventura+), Chrome / Chromium (all platforms), Microsoft Edge, 1Password 8, Bitwarden browser extension, Dashlane, and Google Password Manager. Most native iOS and Android camera apps also recognise the scheme and hand it off to the system passkey flow.
What's the difference between a passkey and a U2F security key?
U2F (FIDO1) keys are second-factor only — they sign a challenge after you enter a password. Passkeys (FIDO2 / WebAuthn) are first-factor and can replace the password entirely. A physical YubiKey can hold either; the difference is how the relying party requests credentials.
Can I use this for FIDO U2F / security-key enrollment?
Not directly. FIDO U2F uses a different URL scheme and is typically handled via USB, NFC, or Bluetooth — not a QR. For passkey / FIDO2 cross-device flows, the FIDO:/ hybrid-transport URI is the right primitive.
Is there a QR format for passkey export / import?
As of early 2026, there is no standardised QR format for transferring passkeys between credential providers. Industry work is ongoing via FIDO's Credential Exchange Protocol (CXP) — watch this space. In the meantime, passkey sync happens via provider-specific cloud (iCloud Keychain, Google Password Manager, 1Password) not via QR.