A tiny, privacy-friendly TOTP (Time‑based One‑Time Password) generator. Paste a Base32 secret to instantly get rotating verification codes, a shareable link, and a QR code. Everything runs in your browser — no backend.
- Client‑side only: codes are generated locally (no data sent to a server)
- Paste a Base32 secret and get 6/8‑digit codes with a progress timer
- Shareable URL and QR code (compatible with authenticator apps)
- Light/Dark theme with persistent preference
- Installable PWA with offline support
npm i
npm run dev
# build & preview
npm run build
npm run previewVITE_SITE_NAME: App display name (defaults to "TOTP Generator")VITE_PWA_THEME_COLOR: Theme color for the PWAVITE_PWA_BG_COLOR: Background color for the PWAVITE_BASE_URL: Absolute base URL for generated links (fallbacks to current origin)
- Uses
otpauthto generate TOTP codes entirely in the browser - Uses IndexedDB only for UI/PWA metadata (theme, install hints); secrets are not stored
- Share URLs include the secret in the query string for portability — share cautiously
- React + TypeScript + Vite
- Chakra UI v3
- Service Worker (PWA)
The app is a static site. Deploy the dist folder to any static host (e.g. GitHub Pages, Netlify, Vercel). Ensure sw.js is served from the site root for PWA features.