OctalOne

100% Private & Offline-Ready

Your files are processed entirely on your device. Nothing is uploaded — works offline too!

Learn More →

Password Generator

Generate cryptographically secure passwords, memorable XKCD passphrases, and PINs with entropy stats.

RANDOM CHARACTERSVery Strong
Engine:CSPRNG (Crypto)
Generating...
Entropy
104.9 bits
Security Rating
Very Strong
Fast GPU Crack
5.9 trillion years
Pool Size (R)
94 chars
GENERATOR CONTROLS
chars
4 (Min)16 (Default)32 (Strong)64128 (Max)
Advanced Character Filtering
Exclude Custom Characters:
1 to 100
INTERACTIVE 2D SECURITY VISUALIZERS
0Weak (36)Strong (80)Quantum (128+)140+104.9 BITSVERY STRONG
Enterprise-grade resilience. Impassable to distributed supercomputer clusters.
BRUTE-FORCE RESILIENCE & COMPLIANCE MATRIX
Online Web Form (Rate Limited)100 guesses / sec
5.9 sextillion years
Offline Slow Hash (bcrypt / Argon2)100,000 hashes / sec
5.9 quintillion years
High-End Consumer GPU (8x RTX 4090)100 GH/s (10¹¹ guesses / sec)
5.9 trillion years
Nation-State Supercomputer Cluster100 TH/s (10¹⁴ guesses / sec)
5.9 billion years
NIST SP 800-63B & Industry Standards Checklist
NIST Minimum Length (≥ 8 characters)
High Entropy Baseline (≥ 64 bits)
Zero Modulo Bias (Uniform Rejection Sampling)
100% Client-Side Invariant (Zero Server Transmission)
MATHEMATICAL METHOD BREAKDOWN

Hardware Entropy & Modulo Bias Elimination

Standard pseudorandom generators like Math.random() use predictable mathematical state machines (like xorshift) that can be reverse-engineered by adversaries. In contrast, the Web Cryptography API (window.crypto.getRandomValues) samples true hardware entropy from CPU thermal noise, interrupts, and disk activity.

// Unbiased Rejection Sampling Algorithm:
const range = poolSize;
const limit = 2³² - (2³² % range);
while (true) {
  crypto.getRandomValues(buffer);
  if (buffer[0] < limit) return buffer[0] % range; // Discards biased tail
}

By rejecting values in the upper uneven window (2³² % range), every character in your pool is mathematically proven to have an exactly equal probability of selection.

ITEMIZED SECURITY AUDIT RECEIPT
No passwords generated yet. Click 'Generate New' to create passwords.
SECURITY INSIGHTS & TRIVIA (1 of 6)

The XKCD #936 Passphrase Revolution

In 2011, webcomic XKCD pointed out that humans choose complex short passwords like 'Tr0ub4dor&3' which are hard to remember but easy for computers to crack (~28 bits). Meanwhile, 4 random common words like 'correct horse battery staple' yield 51+ bits of entropy—effortless for humans, impossible for computers.

You might also like

Frequently Asked Questions

When set to Cryptographic CSPRNG (default), the generator uses the browser's native Web Cryptography API (window.crypto.getRandomValues), sampling physical CPU and hardware entropy. It applies uniform rejection sampling to eliminate modulo bias, ensuring every character in your selected pool has an exactly equal chance of appearing.

No, 100% never. All password generation, entropy math, and crack-time computations execute entirely in your web browser memory. No passwords, seed parameters, or logs are ever transmitted over the network or stored on any server.

Random character passwords (e.g. '8k#Q9!mP2$') rely on high character pool diversity in a short length, which makes them difficult for humans to remember. An XKCD passphrase (e.g. 'Correct-Horse-Battery-Staple') combines 4+ random dictionary words. Because each word contributes ~11 bits of entropy, a 4-word passphrase yields 51+ bits of cryptographic protection—making it effortless for humans to type while remaining practically impossible for computers to brute force.

Entropy is a mathematical measurement of unpredictability expressed in bits. Every additional bit doubles the number of guesses an attacker must test. For everyday consumer accounts, 60–79 bits ('Strong') is recommended. For master passwords, root keys, and financial portals, 80–127 bits ('Very Strong') or 128+ bits ('Quantum-Proof') provides enterprise-grade resistance against nation-state supercomputer clusters.

When taking a random 32-bit integer (0 to 4,294,967,295) and calculating its remainder with an operator (% poolSize), characters at the beginning of the pool appear slightly more often unless 2³² is perfectly divisible by the pool size. Rejection sampling discards raw numbers in that uneven leftover window and redraws, mathematically guaranteeing zero skew.

Yes! The Password Generator is built strictly offline-first. Self-healing service workers cache all necessary assets and scripts on your first visit, enabling full cryptographic password and passphrase generation with zero network connectivity.

Seeded PRNG mode (powered by the 32-bit Mulberry32 algorithm) uses a deterministic recurrence equation derived from a custom seed string. Entering the exact same seed produces the identical sequence of passwords on any computer, which is invaluable for automated testing, QA fixtures, and reproducible simulation pipelines.