Build the otpauth:// URI for a TOTP or HOTP account and render it as a scannable QR code. SHA-1/256/512, 6–8 digits, 30–90s period. Nothing uploaded.
Every authenticator app imports a new account the same way: scan a QR code that encodes an otpauth:// URI containing the secret and a handful of configuration parameters. Generating that QR by hand means constructing the URI correctly and then finding a QR tool that will render it without uploading anything. otpauth:// QR Code Builder does both steps in one form — fill in the account details, and the QR and the raw URI update live as you type.
The tool covers both TOTP (time-based) and HOTP (counter-based) one-time passwords, with full control over algorithm, digit count and period. All rendering runs in your browser. The secret never leaves the tab.
= padding are stripped automatically. If the field contains a non-Base32 character, the tool shows “Secret must be a Base32 string (A–Z and 2–7 only, with optional spaces or = padding)." and disables the output until the value is corrected.Issuer:Account, which prevents name collisions when the same email address is used across multiple services.jbswy3dpehpk3pxp and JBSWY3DPEHPK3PXP produce identical output.Account Details
Type
Base32 characters only (A–Z and 2–7). Spaces and = padding are stripped automatically.
QR Code Size
otpauth://totp/MyApp:alice%40example.com?secret=JBSWY3DPEHPK3PXP&issuer=MyApp
The generated QR code follows the Google Authenticator Key URI format, which is supported by Google Authenticator, Authy, Microsoft Authenticator, 1Password, Bitwarden and every major authenticator app.
SHA-1 / 6 digits / 30 s are the universal defaults — only change them if your server explicitly requires non-standard settings. Most apps warn or refuse a QR code that specifies SHA-256 or SHA-512.
Nothing is sent anywhere. The QR code is generated entirely in your browser.