How TOTP works
TOTP derives one-time codes from a shared secret and time-step counter (default 30s).
Generate 6-digit rolling TOTP codes and otpauth URIs from Base32 secrets.
Updated
------
Refresh in 30s
Quick start
Generate secret, view 6-digit rolling code and copy otpauth URI.
Enter label metadata used in authenticator apps.
Create a random base32 shared secret.
Use current code or otpauth URI for app enrollment.
In-depth guide
Generate and validate 6-digit TOTP codes with local secret generation and otpauth URI output.
TOTP derives one-time codes from a shared secret and time-step counter (default 30s).
Treat secrets as sensitive; never share or log them in plaintext.
Use this tool for quick browser-based work when you need an answer or output immediately. Use a dedicated application or automated workflow when you need bulk processing, approvals, or repeatable production rules.
Browser-first by design. The tool page explains any exception before you use it.
Your input is handled in the browser wherever the tool can process it locally. EpitomeTool does not add an upload step unless a tool page explicitly says so.
RFC 6238 compatible 6-digit TOTP with 30-second period and HMAC-SHA1.
Yes. Use the generated otpauth URI in app import flows.
Yes. Secrets are generated with crypto.getRandomValues in your browser.
Keep exploring
Hand-picked utilities that pair well with the one you're on — all free, client-side, and zero-signup.
Encrypt and decrypt text locally with AES-256-GCM and passphrase-derived keys.
Generate signed HS256 JWTs from custom header and payload JSON locally.
Check password breach exposure using Have I Been Pwned k-anonymity range API.
Shrink PDF file size without uploading to a server.
Body Mass Index with metric / imperial inputs and WHO category bands.
Combine multiple PDFs into one in your browser.
Split a PDF by pages or page ranges, download as zip.