Password Generator
Generate cryptographically secure random passwords with a chosen length and character classes.
- Runs locally in your browser
- No upload required
Try it
Supported formats
Privacy
Runs entirely in your browser. Your input is never uploaded, stored, or sent to a third party.
Generated 2 password(s) of 16 character(s) from a pool of 87 symbols (103 bits of entropy).
How it works
- Read the requested length, character classes and count.
- Built the character pool from the selected classes.
- Drew each character from the pool with rejection sampling over the random bytes.
- Reported the true pool size and the resulting entropy in bits.
- A seed was supplied for a reproducible example; production generation uses the platform CSPRNG.
- This tool generates secrets in your browser and never sends, logs or stores them.
Methodology
- Build the character pool from the selected classes, optionally removing visually ambiguous characters.
- Draw characters from the platform CSPRNG; for a seeded example, derive bytes from a deterministic PRNG instead.
- When requested, place one character from each selected class and shuffle with the same random source so the guarantee does not bias the remaining positions.
- Report the pool size, the password length and the Shannon-style entropy estimate length × log2(poolSize).
Usage
- Choose the password length (8 to 256 characters).
- Select the character classes to include and whether to avoid ambiguous characters.
- Generate one or more passwords and copy the value you need.
Examples
These are examples, not current values: they use fixed inputs, while the interactive tool computes live results in your browser.
Two reproducible 16-character passwords
{
"length": 16,
"count": 2,
"seed": "example"
}Alphanumeric only, no ambiguous characters
{
"length": 20,
"symbols": false,
"excludeAmbiguous": true,
"seed": "example"
}Guarantee one of each class
{
"length": 24,
"requireEachClass": true,
"seed": "example"
}Limitations
Why length beats complexity rules
Modern guidance (NIST SP 800-63B) de-emphasises forced symbol and rotation rules and favours long, random, unique secrets. This generator lets you choose a long random password and guarantees class coverage only when a site requires it.
The entropy figure is honest about what randomness alone contributes. It is not a guarantee about the rest of your account security, which depends on how the service stores and checks the password.
A seed is not a feature for real secrets
The seed option exists so the documentation example and the automated tests are reproducible. A seeded password is predictable and must never be used as a credential. Without a seed, generation uses the platform CSPRNG.
Frequently asked questions
- Is the randomness safe?
- Yes. When no seed is supplied the characters come from the browser's Web Crypto `crypto.getRandomValues`, the platform CSPRNG. The page has no network or storage path and never transmits what you generate.
- How long should a password be?
- Length dominates. With all four character classes, 16 characters already provide over 100 bits of entropy; 20 or more is comfortable for high-value accounts. Use a password manager rather than memorising one.
- What does the seed option do?
- It reproduces a fixed result for documentation and tests. It is not secret and must never be used to create a real credential.
Sources
Send feedback
Tell us if this tool helped, report a problem, or suggest a tool. Only the message you type is sent — never the input you used in the tool.
Was this tool useful?
Prefer to write to us directly? See the contact page.