Modern TOTP for JavaScript

A comprehensive TOTP (Time-based One-Time Password) library for JavaScript applications. Secure, lightweight, and developer-friendly 2FA implementation with full TypeScript support.

npm install modern-totp

Everything you need for 2FA

Built for modern JavaScript/TypeScript applications with security, performance, and developer experience in mind.

🔐

Secure by Default

RFC 6238 compliant implementation with cryptographically secure random secret generation.

Zero Dependencies

Lightweight library with no external dependencies. Perfect for modern JavaScript applications.

📱

Universal Compatibility

Works with all major authenticator apps including Google Authenticator, Authy, and 1Password.

🔧

TypeScript Ready

Full TypeScript support with comprehensive type definitions and IntelliSense.

🎯

Simple API

Clean, intuitive API designed for developer productivity and ease of integration.

Battle Tested

Extensively tested with comprehensive test coverage for production reliability.

Simple to integrate

Get started with just a few lines of code. Clean API designed for developer productivity.

Basic Usage

basic-example.js
import { generateSecret, generateTOTP, verifyTOTP } from 'modern-totp';

// Generate a secret for the user
const secret = generateSecret();

// Generate a TOTP code
const token = generateTOTP(secret);

// Verify a TOTP code
const isValid = verifyTOTP(token, secret);
console.log(isValid); // true

QR Code Generation

qr-code-example.js
import { generateTOTP, generateQRCodeURL } from 'modern-totp';

const secret = 'JBSWY3DPEHPK3PXP';
const issuer = 'MyApp';
const accountName = 'user@example.com';

// Generate QR code URL for authenticator apps
const qrCodeURL = generateQRCodeURL(secret, issuer, accountName);

// Display QR code to user for scanning
console.log(qrCodeURL);
100+
Downloads
0
Dependencies
99%
Test Coverage
15KB
Bundle Size