Skip to main content

AltF Authenticator

otpauth:// QR code generator

Fill in the issuer, account name and settings, and the page builds a standard otpauth://totp/ link and draws it as a QR code that authenticator apps can scan. Everything is made in your browser, so the secret is not sent to a server. It is meant for developers and site owners testing or demonstrating 2FA enrolment.

  • Free, no sign-up
  • Secrets stay in your browser
  • RFC 6238 self-test built in
  • Works on mobile

The otpauth:// format

Authenticator apps read a link of the form otpauth://totp/Issuer:account?secret=BASE32&issuer=Issuer&algorithm=SHA1&digits=6&period=30. The label after totp/ names the account, the secret is the Base32 shared key, and the remaining parameters describe how codes are made. This format started as Google Authenticator's key URI format and is now read by almost every authenticator app.

Fields and what to put in them

  • Issuer: your product or company name. Put it both in the label prefix and in the issuer parameter.
  • Account: the user's email or username, so people can tell accounts apart.
  • Secret: a random Base32 key. Use the Setup tab's generator for 160 random bits.
  • Algorithm, digits, period: keep SHA1, 6 and 30 for the widest compatibility.

Compatibility advice

Some versions of Google Authenticator have ignored the algorithm, digits and period parameters and used the defaults instead, which produces codes your server will reject. Unless you control the apps your users run, stick to SHA1, 6 digits and 30 seconds. Always show the Base32 secret as text next to the QR code for people who cannot scan.

Handle the QR code like a password

Anyone who scans or photographs the QR code can make the same codes forever. Show it only over HTTPS, only to the signed-in user, and only during enrolment. Ask the user to type a current code to confirm before you turn 2FA on.

otpauth:// QR code generator: questions and answers

Should the issuer go in the label or the parameter?

Both. Older apps read the prefix in the label and newer ones prefer the issuer parameter. Make them identical and URL-encode spaces.

Can I use this QR code to protect a real account?

Only if your own app or server stores the same secret and checks codes against it. This page does not enrol anything with any service.

Is the QR code made on a server?

No. The QR code is drawn in your browser, so the secret it contains is not uploaded.

Does the otpauth link support HOTP?

Yes. The format allows otpauth://hotp/ with a counter parameter instead of a period, but most websites use TOTP.

Authenticator tools and 2FA guides

Guides

AltFTool never receives your secrets or codes. The only network request any tab makes is the clock check, which asks AltFTool's server for the time and carries nothing else.