Password Generator

Strong passwords built with your browser's cryptographic random generator (crypto.getRandomValues). Nothing is transmitted or stored — click a password to copy it.

{{strength.label}} {{entropy.toFixed(0)}} bits of entropy · {{charsetSize}} char pool
Options
Basic
{{length}}
A–Z
a–z
0–9
!@#$%…
Advanced
i I l L 1 o O 0
each char once
Characters to include
Characters to exclude
No characters available — adjust the sets or exclusions. {{warnNote}}
Batch{{batch.length}}
{{i+1}} {{p}}

Random passwords resist memorizing by design — a password manager is still the right home for them. But if you must learn one, these three views of the current password help. For your eyes only; nothing here is stored.

1 · Chunk it
{{c}}

Small groups are far easier to hold in short-term memory than one long run.

2 · Say it aloud (phonetic)
{{p.ch===' '?'␣':p.ch}} {{p.say}}
3 · Build a story

One vivid word per character — string them into a silly sentence and picture it.

About this tool

The random portion is drawn with crypto.getRandomValues (a CSPRNG), using rejection sampling to avoid modulo bias. The meter shows the upper-bound estimate log2(pool size) × random character count. Requiring every selected category, disallowing repeats, or forcing the first character constrains the distribution, so those modes have slightly less entropy than the estimate.

Use a password manager rather than memorizing passwords. Aim for at least 12 characters and 75+ bits of entropy for important accounts. This generator runs entirely offline in your browser and never sends, logs, or stores what it creates.