OTP Secret Generator (Base32) for 2FA
Generate a random base32 secret to set up two-factor authentication (TOTP), in your browser.
Generated locally (crypto.getRandomValues). Paste the URI into a QR code generator to add it to your authenticator app.
🔒 100% client-side — no data sent
Generate a random base32 secret to set up two-factor authentication (2FA / TOTP) compatible with Google Authenticator, Authy or 1Password. This secret acts as the shared key used to produce one-time codes. Generation is 100% local in your browser: the secret is never transmitted or stored online.
What is it for?
- ▸ Set up TOTP 2FA in an app you are developing
- ▸ Test a two-factor authentication integration
- ▸ Generate a shared key for Google Authenticator or Authy
- ▸ Create a test secret for a demo or documentation
FAQ
What is a base32 TOTP secret?
It is a random key shared between the server and the authenticator app. Encoded in base32 (letters A-Z and digits 2-7), it is used to compute the 6-digit codes that change every 30 seconds.
Is this generated secret secure?
Yes: it is produced locally by your browser's cryptographic random generator and is never sent over the internet. Still keep it confidential, since it can generate all your 2FA codes.
What secret length should I choose?
The RFC recommends at least 128 bits, but 160 bits (i.e. 32 base32 characters) is the most common standard and offers a solid security level for most TOTP use cases.