Password Generator
Generate a secure random password with the length and character types you specify (uppercase, lowercase, numbers, symbols) — generated locally in your browser, never transmitted or stored anywhere.
Your password is generated entirely on your device using a secure random generator (Web Crypto), and is never stored or sent to a server.
Current setting strength: Very strong
A rough estimate based only on your settings, not an absolute security guarantee.
Result
Click "Generate password(s)" to see the result here
What this tool does
Generates random passwords at a length and composition you choose, using your browser's cryptographic randomness source, with an indicator of the result's strength.
When to use it
- Creating a new account and wanting a strong password rather than reusing one.
- Replacing a leaked or weak password.
- Needing a password for a service account or a database.
- Generating several passwords for a team or for multiple devices.
How to use it
- Set the password length.
- Choose what to include: uppercase, lowercase, digits and symbols.
- Generate, and check the strength indicator: Weak, Medium, Strong or Very strong.
- Copy it and store it in your password manager straight away.
A practical example
Input
A length of 20 with every character class enabled.
Output
A 20-character password mixing letters, digits and symbols, rated "Very strong".
Limitations
- The password is shown once and stored nowhere — not in the browser, not in a log, not in the URL. Close the page before copying it and it is gone.
- Length is the single biggest factor in strength; a long letters-only password beats a short one crammed with symbols.
- Some services reject particular symbols, so you may need to disable symbols and increase the length instead.
- This generates and does not store; you need a password manager to keep it.
Privacy and processing
Generation happens entirely inside your browser. The password is never sent to a server, never written to local storage, and never recorded in any analytics.
Technical notes
- Randomness comes exclusively from crypto.getRandomValues(), a cryptographically secure generator — Math.random() is never used, because it is not cryptographically secure and must never back a password generator.