Skip to content

Timer

Private by design. Codes are generated in your browser with Web Crypto. Keys are cached unencrypted in this device’s local storage — they never leave it (there are no servers), but anyone who can open this browser profile can read them.

100% client-side · zero-knowledge

Free 2FA Authenticator & Code Generator

Paste a secret key, get a live 6-digit code. A fast, free, private alternative to Google Authenticator, Authy, and Microsoft Authenticator — for times when your phone is gone, broken, or simply out of reach.

No app. No account. No key ever touches a server.

otp.rfc-6238.js

// The whole tool. No servers involved.
const step = Math.floor(Date.now() / 1000 / 30);

const key = await crypto.subtle.importKey(
  'raw', base32(secret), { name: 'HMAC', hash: 'SHA-1' });

const mac = new Uint8Array(
  await crypto.subtle.sign('HMAC', key, u64(step)));

const o = mac[19] & 15;
const code = ((mac[o] & 0x7f) << 24 | mac[o+1] << 16
  | mac[o+2] << 8 | mac[o+3]) % 1e6;
code.toString().padStart(6, '0'); // ← your 2FA code

0

keys stored on our side — there are no servers to store them

100%

of the computation happens on your device, via Web Crypto

6238

the RFC standard implemented — compatible with every authenticator app

Three steps to a live 2FA code — no phone needed.

Two-factor authentication adds a second lock to your accounts: a code that changes every 30 seconds and is derived from a shared secret plus the current time (TOTP — RFC 6238). This page is the second lock. Your browser runs the exact same counter as the website you’re logging into.

Because the secret itself is the only thing that matters, you can keep it in an encrypted password manager and regenerate codes anywhere — a laptop, a second browser profile, a field laptop, offline.

New to the topic? Read the plain-English explainer: What is 2FA? How TOTP works

Try it now
  1. 01

    Grab your secret key

    When a service offers “two-factor authentication → authenticator app”, pick “can’t scan? show setup key”. You’ll get a Base32 string like JBSWY3DPEHPK3PXP — or a whole otpauth:// link. Both work here.

  2. 02

    Paste, drop, or scan it

    Paste the key or URI into the generator, drop a screenshot of the QR code onto the page, or scan with your camera. Everything is decoded on your device — nothing is uploaded.

  3. 03

    Copy the live code

    A fresh token appears within seconds, synced to your device’s clock. Click copy and complete your login. It refreshes automatically every 30 seconds.

Everything a 2FA app does — and much of it better

One field, one live token

Paste a secret key or the whole otpauth:// link and the matching code starts counting down immediately — no setup, no forms, no “add account” ceremony.

Paste a screenshot, get a key

Ctrl+V an image of the QR code, drop an image file, or scan with your webcam. Three ways to import, zero ways for your key to leak.

Full parameter support, auto-detected

A bare key uses the standard defaults; a full otpauth:// URI honors every parameter it carries — 6/7/8 digits, 15/30/60 s period, SHA-1/256/512, even counter-based HOTP.

Survives a refresh — and switches

Reopen the page and your last key is already there. The Recent-keys list lets you jump between your keys with one click — restored from this device’s local storage only, never from any server.

Nothing to install or sign up for

No phone app, no account, no sync fees, no tracking. If you can open a browser, you can generate a code.

Offline & installable

Works with the tab closed to the world — literally. And as a PWA it installs into your dock or home screen like a native app.

Your keys are not a business model

No accounts. No logins. No “send us diagnostics”. The tool computes codes for you locally and would work identically if this domain were served from a USB stick.

Open the generator

Works wherever an authenticator app works

Any service with a “use an authenticator app” option generates the same standard TOTP code — including the ones below:

  • Discord
  • GitHub
  • Steam
  • Binance
  • Google
  • X / Twitter
  • AWS
  • Coinbase
  • Kraken
  • Twitch
  • Microsoft
  • Proton Mail

Setting up one of these? Read the step-by-step guide: GoogleMicrosoftDiscordGitHubXAWSCoinbaseKrakenSteamBinance

2FA COUNTER — the 2FA authenticator that lives in your browser

People arrive here with the same want: a working authentication code, right now, without installing anything. That is exactly what 2FA COUNTER is. It is a free, browser-based 2FA authenticator and code generator: paste your secret key, drop a screenshot of the QR code, or scan it with your camera, and the matching live code appears within seconds and refreshes itself every 30 seconds, exactly like the app on your phone — only nothing has to be installed.

What is 2FA? The 60-second answer

2FA — two-factor authentication — is the second lock on your account: something youhave, in addition to something you know. When you switch it on, a service hands you a one-time shared secret. Your authenticator then derives a fresh 6-digit code from that secret plus the current time — the TOTP standard, RFC 6238 — while the site you are logging into runs the identical calculation and compares results. Because the code rotates every 30 seconds, a stolen password by itself no longer opens anything. If you want the full cryptography walkthrough, read the plain-English explainer What is 2FA? How two-factor authentication & TOTP work, then come back and generate your first code.

How to get a code in three steps

Whenever you need a code for a login, three inputs are enough. First, enable two-factor on the website and choose “authenticator app”; when you cannot scan the QR code, reveal the setup key — a Base32 string or the complete otpauth:// link. Second, paste that key or URI into the generator at the top of this page, drop in a QR screenshot, or use your camera. Third, copy the fresh code and complete your sign-in. The generator honors every otpauth parameter it is given: 6, 7 or 8-digit codes, 15/30/60-second periods, SHA-1, SHA-256 or SHA-512 hashing, and counter-based HOTP. Nothing is uploaded and nothing is logged — the code is computed on your device, and you can verify it yourself in the browser’s network tab.

A 2FA authenticator that never needs your phone

Most people arrive here because their phone left — sold, broken, drowned, wiped, or dead battery on a travel day — and Google Authenticator, Authy and Microsoft Authenticator live only on that device. A browser 2FA tool removes that single point of failure: the secret stays in your password-manager vault, and the code can be regenerated on any computer you trust. If you are weighing the switch, we compare your options honestly, app by app: Google Authenticator vs a browser 2FA generator and Authy vs a browser 2FA generator. It also fits desktop workflows — signing into GitHub or an AWS console on a second monitor, managing multiple accounts through the Recent-keys list, working on a machine where phones are not allowed — and we cover that use on its own page: the authenticator app for PC, without emulation. Install it as an app and the generator keeps working with the network entirely switched off. It is the same RFC 6238 math every service already accepts, just untethered from your pocket.

One tool across crypto, cloud, gaming and social

Whatever you are protecting, standard TOTP is the shared language. Trading on Binance, Coinbase or Kraken, locking down AWS, Microsoft or Google accounts, protecting Steam, Discord, X or your inbox — any service that offers “use an authenticator app” speaks the same protocol, so one tool covers all of them. When a site rejects your code, it is nearly always the device clock, not the tool: set your system time to sync automatically and the codes line up again. For the popular services we publish step-by-step setup guides that pair with this generator, from enabling the feature to pasting the final code.

Nothing sent, nothing stored, nothing to pay

This is one of the very few 2FA tools with nothing to hide, because there is nothing that could be hidden. There are no servers to send keys to, no accounts to create, no premium tier, no telemetry. Every code is computed locally with the Web Crypto API; your last key and a short Recent-keys list live only in your own browser storage and are removed with one click of “Clear all”. Keep the master copy of every secret in an encrypted password manager, save each service’s recovery codes as well, and treat any urgent request for a fresh code as the red flag that it is.

Ready when you are: the generator is at the top of the page. Paste a key and watch the live code count down — free, private, offline-capable, forever.

Questions, answered plainly

Still unsure? Everything this tool does is visible in your browser’s DevTools network tab: zero requests carry your key.

How to get 2FA?

You get 2FA from the account you want to protect: open its settings, find "Security" or "Login & security", and look for "Two-factor authentication" or "2-step verification". Pick the authenticator-app option, scan the QR code — or click "can't scan?" to reveal the setup key (a Base32 string or an otpauth:// URI) — and paste it into the generator at the top of this page. Enter the live code to confirm the setup, then save the recovery codes the service shows you.

How to enable 2FA?

Four steps, about two minutes: 1) Open the account or security settings and select "Two-factor authentication". 2) Choose "Use an authenticator app" (avoid SMS if a better option exists). 3) Scan the QR code with your authenticator — or reveal and save the setup key instead. 4) Enter the live code to finish, then download or print the backup codes. We publish per-service guides for Google, GitHub, Discord, Binance and more.

How does 2FA work?

After your password, the service asks for a second proof of identity. With the standard TOTP method (RFC 6238), your authenticator calculates a 6-digit code from a shared secret plus the current time, and the server runs the identical calculation and compares the two. The code is derived every 30 seconds and is worthless after it expires — so a leaked password alone can no longer open your account.

What is 2FA used for?

It protects any login somebody else wants: email and cloud suites (Google, Microsoft, Apple), banking and brokerage accounts, crypto exchanges (Binance, Coinbase, Kraken), developer platforms (GitHub, AWS), gaming (Steam, Discord, Twitch), and social media (X, Instagram). Companies use it for VPNs, email and admin consoles too. Anywhere a site offers an "authenticator app" option, that is the 2FA lane.

Is 2FA 100% safe?

No — no security control is, and honest guides say so. 2FA kills stolen-password attacks, but a fresh code typed into a fake site within its 30-second life still gets phished, malware already on your device can hijack the session itself, and SMS codes can fall to SIM-swap attacks. Even with those caveats, an account with 2FA is far harder to break into than one without it.

Is 2FA compulsory?

No government makes it compulsory, but spreading platforms do: GitHub has required it for code contributors since 2023, banks and crypto exchanges force it on, and employers routinely mandate it for work logins. Everywhere else it is optional but strongly recommended. Treat it as compulsory anyway for your most valuable account — your email — because whoever controls your inbox can reset everything else.

Why is 2FA so important?

Because passwords keep failing in exactly the same ways. Billions of real passwords are already public from breaches, and attackers replay them at every other site around the clock (credential stuffing). Microsoft reports that 2FA blocks over 99.9% of automated account-takeover attacks — it is the cheapest upgrade that protects your email, banking, gaming, and crypto against the threats that actually happen.

How strong is 2FA?

It depends entirely on the second factor. SMS codes are the weakest, since SIM swaps let an attacker steal your phone number and receive them. TOTP authenticator codes — the 30-second kind — are computationally strong: nothing is transmitted, an offline attacker cannot derive them, and each expires in seconds. Hardware security keys and passkeys are strongest of all, because they are phishing-resistant and cryptographically bound to the real domain.

Why does everything use 2FA now?

Because the password-only era collapsed. Industrial breaches exposed billions of credentials, automated credential-stuffing made hijacking accounts nearly free, and platforms got tired of paying for the aftermath. Regulators piled on — NIST deprecated SMS authentication in US standards, and the EU's PSD2 requires strong customer authentication. After a few giants normalized 2FA, every other service followed.

Do I need a phone to use this 2FA authenticator?

No. This is a browser-based 2FA tool: it runs on any laptop, tablet, or desktop with a modern browser, online or fully offline once installed as an app. It replaces the phone app whenever a phone is lost, sold, broken, out of battery — or simply not allowed where you work.

Is 2FA COUNTER safe to use?

Yes. Every calculation happens locally in your browser with the Web Crypto API. Your secret keys are never sent to — or seen by — any server. You can load the page, disconnect from the internet, and the generator keeps working.

Can I use this offline?

Absolutely. Install 2FA COUNTER as an app (Add to Home Screen / Install) and it runs completely offline like a native authenticator. Codes are derived from your secret plus your device clock — no network needed.

Why is my 2FA code being rejected?

Almost always clock drift. TOTP codes are time-based, so if your device clock is off by even half a minute the code is invalid. Make sure your system time is set to sync automatically (e.g. Windows “Sync now” in date & time settings, macOS “Set date & time automatically”) and try again. The generator computes against the time your device reports — it has no clock of its own to fix.

How is this different from Google Authenticator or Authy?

They are phone apps; this is a browser authenticator. It uses the exact same RFC 6238 TOTP algorithm and works with every service that accepts a standard authenticator app — but you never lose access because a phone is broken, sold, or out of battery.

Where are my keys stored?

Only in your own browser. Your last key plus a short “Saved keys” list (up to 8) are kept in this device’s local storage so the generator survives a refresh and you can switch keys in one click — never on our servers, because there aren’t any. The keys are stored as plain text, so anyone who can open this browser profile can read them — treat the profile like a password-manager vault. The “Clear all” button above the list (it asks you to confirm), clearing the input field, or wiping your browser data removes them for good; keep the original secret in your password manager as the master copy.

Does it work with HOTP, 8-digit codes, or SHA-256 services?

Yes. Paste the full otpauth:// URI your service provides and every parameter it carries is honored automatically — 6, 7 or 8 digits, 15/30/60 s period, SHA-1/SHA-256/SHA-512 hashing, and counter-based HOTP. A bare Base32 key uses the standard defaults (6 digits, 30 s, SHA-1), which is what almost every service uses.

Is it really free?

Yes — no accounts, no premium tier, no login. It is a tool, not a service.

No more reaching for your phone

Keep your secrets in your password manager, generate codes right here, and stay signed in on any device — even with no internet at all.

Generate a 2FA code now