Password Generator
This free password generator creates random passwords right in your browser using crypto.getRandomValues(), the cryptographic random source of your own operating system, with rejection sampling to remove modulo bias — the same construction cryptographers recommend, not a Math.random() shortcut.
How to use
- Set a length between 8 and 128 characters.
- Toggle the character sets (uppercase / lowercase / digits / symbols) and the ambiguous-character exclusion as needed.
- Press Generate, check the entropy figure, then copy the password into your password manager.
Frequently asked questions
How is the password generated?
Character by character with crypto.getRandomValues(), the browser platform cryptographic random generator, plus rejection sampling so every character in the pool is exactly equally likely. The generation runs entirely on your device: the password is never transmitted, logged or stored anywhere.
What does the entropy number mean?
It is the information entropy of the generated password, in bits: length × log2(pool size). For example, 16 characters drawn from an 87-character pool give about 103.1 bits. Each extra character adds a fixed amount, and each removed pool character slightly reduces it — the number shown is exact for uniform random generation, not an estimate.
Why is there no "strong / weak" score?
Labels like "strong" or crack-time estimates depend on unverifiable assumptions about the attacker — their hardware, the password hashing scheme, whether your password is in a leaked dictionary. Entropy in bits is the honest, checkable figure underneath all of that, so this tool shows the math instead of performing confidence.
Why exclude ambiguous characters, and what does it cost?
The characters i, l, 1, L, o, 0 and O are easy to misread in screenshots, printouts and read-aloud handoffs. Excluding them removes them from the pool, which reduces the entropy slightly — the stats show the smaller pool and the recalculated entropy, so nothing is hidden.
Which symbols are included?
Exactly these 25: !@#$%^&*()-_=+[]{};:,.<>? — visible ASCII symbols only, with no space or characters that some forms reject. If a service restricts symbols, turn the set off and lengthen the password to compensate; the entropy readout shows the trade-off directly.
How should I store the generated password?
In a password manager. The generation is local and private, but a browser tab does not remember anything either — copy the result straight into your manager and let it handle storage, autofill and backups. Generating here and saving there means the password exists in exactly two places: your clipboard and your vault.
Related tools
About this tool
This free password generator creates random passwords right in your browser using crypto.getRandomValues(), the cryptographic random source of your own operating system, with rejection sampling to remove modulo bias — the same construction cryptographers recommend, not a Math.random() shortcut. Choose a length between 8 and 128 characters, switch the character sets you want (uppercase, lowercase, digits, symbols), and optionally exclude easily confused characters like i, l, 1, L, o, 0 and O for passwords you need to read off a screen or read aloud. Press generate and the password appears instantly; nothing is transmitted, logged or stored, and you can regenerate as many times as you like until one feels right. Instead of a made-up strong/weak badge, the tool reports the honest number: the information entropy of what it produced, computed as length × log2(pool size) in bits, alongside the exact pool size it drew from — so the strength figure is something you can verify yourself rather than a marketing claim. Default settings (16 characters from all four sets) yield about 103 bits, comfortably beyond what offline cracking can touch. Generated passwords never leave your device: copy the result straight into your password manager and let it remember the rest.