Security Tools
TOTP Generator
Generate Time-Based One-Time Passwords from any Base32 secret in your browser. Live RFC 6238 codes for SHA-1, SHA-256, and SHA-512.
Use test secrets only
Codes are computed locally in your browser using the Web Crypto API. Your secret never leaves the page. Even so, treat 2FA secrets like passwords. Use this tool with development or test secrets you generated yourself, not the secret behind a real account.
Paste any RFC 4648 Base32 secret. Spaces, dashes, lowercase letters, and missing padding are accepted. The secret is decoded in your browser and never sent over the network.
Algorithm
Default for Google Authenticator, Authy, 1Password, Microsoft Authenticator, and almost every public 2FA setup.
Digits
6 digits is the universal default. 7 and 8 are supported by some authenticators when the issuer opts in.
Period
30 seconds matches RFC 6238 and almost every consumer authenticator. Longer periods reduce server load but widen the attacker window.
Verify a code
Enter a 6-digit code to compare it against the previous, current, and next window.
otpauth provisioning URI
Most authenticator apps accept this URI directly. Pair it with our QR Code Generator to scan it in.
Provisioning URI
otpauth://totp/Zero%20Signup%20Tools:user%40example.com?secret=JBSWY3DPEHPK3PXP&issuer=Zero+Signup+Tools&algorithm=SHA1&digits=6&period=30
How to use
- Paste a Base32 secret into the input area, or click Generate random secret to create a fresh test secret in your browser.
- Pick the algorithm, digit count, and period that match the server you are testing. The defaults (SHA-1, 6 digits, 30 seconds) match Google Authenticator and most consumer 2FA setups.
- Watch the current code update in real time. The progress bar shows how many seconds remain before the code rolls to the next window.
- Use the verify panel to check a code typed by a user against the previous, current, and next windows so clock-skew issues are easy to spot.
- Optionally fill in an issuer and account name to build an otpauth:// URI, then pass that URI to the QR Code Generator to scan it into any authenticator.
About this tool
TOTP Generator computes Time-Based One-Time Passwords from any Base32 shared secret, the same way Google Authenticator, Authy, 1Password, Microsoft Authenticator, FreeOTP, and every RFC 6238 conformant server library does. The math is small and standardized: counter = floor(unix-time / period), HMAC the counter with the secret, dynamically truncate to a 31-bit integer, and reduce modulo 10^digits. The browser's native Web Crypto API performs the HMAC, so SHA-1, SHA-256, and SHA-512 are all supported and your secret never leaves the device. The output panel shows three codes side by side: the previous, current, and next window. That mirrors what every server validates against to tolerate a few seconds of clock skew between the user's authenticator and the server. A live progress bar and a real-time seconds-remaining counter on the current window make it easy to see when the code is about to roll over. A verify panel accepts a code typed by a user and reports which window it matched, so debugging a failing 2FA setup becomes a one-glance task. The tool also builds an otpauth:// provisioning URI from the secret, issuer, and account, ready to drop into a QR code that any authenticator can scan. Algorithm, digits (6, 7, or 8), and period (30, 60, or 90 seconds) are all configurable so the tool can stand in for an authenticator across the most common variations. A diagnostics panel shows the unix time, computed counter T, time remaining in the current window, and the decoded secret length in bytes and bits, which is everything you need to align this tool's output with any server library, command line tool such as oathtool, or library such as PyOTP, otplib, or speakeasy. Useful for testing 2FA code paths, validating an authenticator's clock against a server, recovering temporary access during onboarding, building or debugging an authenticator app, comparing TOTP and HOTP behavior, and sanity-checking a RFC 6238 implementation against a known-good reference. Works locally in your browser with no signup, no upload, and no external API call.
Free to use. Works in your browser. No signup, no login.
Related tools
You may also like
HMAC Generator
Generate and verify HMAC-SHA1, SHA-256, SHA-384, and SHA-512 signatures.
Open tool
SecuritySHA-256 Hash Generator
Hash text or files with SHA-1, SHA-256, SHA-384, and SHA-512.
Open tool
GeneratorQR Code Generator
QR codes for URLs, text, email, phone, SMS, WiFi, and vCard with PNG and SVG download.
Open tool
SecurityPassword Generator
Strong random passwords with length and character controls.
Open tool
DeveloperJWT Generator
Sign HS256, HS384, and HS512 JWTs with editable claims and expiry helpers.
Open tool