TOTP Authenticator Code Generator

Generate time-based authenticator codes from a Base32 secret, QR image, or otpauth URI.

Workspace

Treat the secret like a password.Anyone who obtains it can generate the same codes. Only use secrets you are authorized to access.

Authenticator configuration

Enter the secret manually or import an authenticator QR image.

Import QR image or otpauth URI

Current code

Add an authorized secret to generate codes.

Waiting for secret--- ---6 digits · SHA-1 · 30s
Codes depend on device time.If a valid code is rejected, enable automatic date and time synchronization on this device.
Protect the shared secret.No-storage mode is enabled by default. Clear the secret as soon as you finish.
Guide

How to use

  1. Enter an authorized Base32 secret, import an otpauth URI, or choose a QR code image.
  2. Confirm the algorithm, number of digits, and interval supplied by the service.
  3. Use the current code before its countdown expires. A replacement appears automatically.
  4. Keep no-storage mode enabled unless you specifically want the configuration retained until this tab closes.
Help

Frequently asked questions

What is a TOTP code?

A time-based one-time password is calculated from a shared secret and the current time. The service calculates the same value to check the code.

Why must the secret stay private?

Anyone with the shared secret and configuration can generate the same present and future codes. A one-time code does not protect an exposed secret.

Which settings are supported?

The generator supports SHA-1, SHA-256, and SHA-512; 6 or 8 digits; and 15, 30, or 60-second intervals. The service configuration must match exactly.

What does no-storage mode do?

It forgets the configuration when the page closes or reloads. If you turn it off, the configuration remains available until this tab closes.

Why is my generated code rejected?

Check the secret, algorithm, digits, and interval, then make sure the device clock is synchronized automatically. Even a small clock error can cause rejection.