2FA QR Code Generator (otpauth:// TOTP)
Make an authenticator-app QR code: a random 160-bit secret or yours, issuer, account, algorithm, digits and period, as an otpauth:// URI and PNG, plus the current code.
Authenticator apps such as Google Authenticator, Microsoft Authenticator, Authy and 1Password are set up by scanning a QR code that holds an otpauth:// link with a shared secret. This tool creates that secret (160 random bits, the recommended size) or uses yours, builds the link in the Key URI format with the issuer and account name, draws the QR code as a PNG, checks that it scans back correctly, and shows the code the app should display right now.
How to use this tool
- Enter the issuer (your service) and the user’s account name.
- Leave the secret blank for a new one, or paste an existing Base32 secret.
- Keep SHA-1, 6 digits and 30 seconds unless all your users’ apps support other settings.
- Download the QR code or scan it, then compare the app’s code with Current code.
Formula
otpauth://totp/Issuer:account?secret=BASE32&issuer=Issuer[&algorithm=SHA256][&digits=8][&period=60]
The label and issuer are percent-encoded, the secret is unpadded Base32, and settings at their defaults are left out. The current code is TOTP (RFC 6238): HMAC of floor(time ÷ period), truncated to the chosen number of digits.
Example
For issuer Example, account alice@example.com and secret JBSWY3DPEHPK3PXP, the link is otpauth://totp/Example:alice%40example.com?secret=JBSWY3DPEHPK3PXP&issuer=Example — the same string the Python library pyotp builds.
Frequently asked questions
Is the secret sent anywhere?
No. The secret, the QR image and the code are all made in your browser. Still, treat a 2FA secret like a password and use this for testing, demos or your own accounts.
Why does the app show a different code?
Check that the phone’s clock is set automatically, and that the app supports the algorithm, digits and period in the link — some ignore anything but SHA-1, 6 digits and 30 seconds.
Why include the issuer twice?
The Key URI format recommends both the prefix in the label and the issuer parameter; older apps read the prefix and newer ones the parameter.
Sources
Last updated:
Page address with these inputs: https://kakao.mobile/tools/qr-code-for-2fa-tool/
Cite or embed this tool
kakaoCalc. (2026, November 8). 2FA QR Code Generator (otpauth:// TOTP). https://kakao.mobile/tools/qr-code-for-2fa-tool/
“2FA QR Code Generator (otpauth:// TOTP).” kakaoCalc, 8 Nov. 2026, kakao.mobile/tools/qr-code-for-2fa-tool/.