// No account · No expiry · 100% client‑side

Free 2FA / OTP QR Code Generator

Build an otpauth:// setup QR code for Google Authenticator, Authy, 1Password and other authenticator apps. TOTP and HOTP, 100% client-side.

$0/moForever
0Expiry dates
100%Processed locally
1 Complete the content
Direct Destination
Direct link encoding without intermediary redirects, countdowns, or expiration.
Any text works — a note, a quote, an instruction. No links, no formatting required.
Scanning dials this number directly — include the country code.
Embedded directly in the vCard — keep it small so the QR code stays scannable.
revolut.me/
Find your business's Place ID with Google's Place ID finder.
~
pf.kakao.com/
Works with Apple Music, YouTube Music, or any other playlist link. Already have a Spotify playlist? Use the dedicated Spotify type instead.
Include your country code (e.g., +1 for US).
@
Produces a standard EPC069-12 GiroCode. Scannable in most European banking apps to pre-fill a SEPA transfer — euro accounts only.
The secret is encoded straight into the code — everything stays in your browser, but treat the finished QR like a password.
Paste the whole LPA:1$… string from your carrier if you have it — the fields below are then ignored.

MeCard is a shorter alternative to vCard that older Android cameras read more reliably. Use the vCard type if you need photos or multiple address fields.
2 Design your QR
Shape style
Border style
Center style
Choose a frame
Loading presets...
Customize Frame
Select a level

Higher error correction keeps a QR code scannable even if part of it is damaged, dirty, or covered by a logo — at the cost of a denser pattern.

3 Download your QR
Example preview

Example QR code preview shown. Enter content to create your code.

Excellent
High contrast and optimal density. 100/100
px
px

High quality QR code ready for printing.

No recent history found. Create and download a QR code to see it here.

Authenticator apps like Google Authenticator, Authy, Microsoft Authenticator and 1Password all enrol an account the same way: they scan a QR code containing an otpauth:// URI. That URI holds the account label, the shared secret key (in Base32), and a few parameters — the algorithm, the number of digits, and the refresh period.

This generator assembles that URI for you. Pick TOTP (time-based, the usual choice) or HOTP (counter-based), enter the issuer and account name that should appear in the app, paste the Base32 secret, and adjust the digits or period only if your system needs non-standard values. The defaults — SHA1, 6 digits, 30 seconds — match what almost every service uses.

Everything happens in your browser. The secret is never sent anywhere, but it is encoded directly into the finished QR code, so treat the downloaded image like a password: don't email it around or leave it on a shared screen.

// FAQ

Frequently Asked Questions

Clear, direct answers to common questions about generating and deploying QR codes.

Any app that follows the Key Uri Format — Google Authenticator, Authy, Microsoft Authenticator, 1Password, Aegis, Raivo, and most others.

The Base32 secret your service provides when you enable two-factor authentication — usually a 16 or 32 character string of letters A-Z and digits 2-7. Spaces are ignored.

TOTP (time-based) unless your system specifically uses a counter. Almost every consumer service uses TOTP.

No. The otpauth:// URI and the QR code are built entirely in your browser. Nothing leaves your device.

The generation is safe and offline. The risk is the output: anyone who scans the finished QR gets the same secret, so store or print it carefully and delete the image when you're done.