How to use
- Choose a length from 8 to 128 characters (20 by default).
- Choose the character types: uppercase, lowercase, numbers and symbols.
- Select Generate password, then Copy password. Select Generate password again for a new one.
How passwords are generated
Passwords are generated in your browser with the Web Crypto API (crypto.getRandomValues), which uses the operating system's cryptographically secure random number generator. Math.random and time-based values are never used, and if the Web Crypto API is unavailable the tool shows an error instead of falling back to a weaker source.
Each character is chosen with equal probability from the selected characters, using rejection sampling so that no character is favoured. Every selected type appears at least once: a password that would be missing a type is discarded and generated again.
Character types
Uppercase A–Z (26), lowercase a–z (26), numbers 0–9 (10) and symbols ! # $ % & ( ) * + , - . / : ; < = > ? @ [ ] ^ _ { | } ~ (28). Space, quotation marks (" ' `) and the backslash are not used, because they often break quoting in shells, JSON, configuration files and connection strings.
The summary shows how many characters were possible and the size of the search space in bits (length × log2 of the number of possible characters). It describes how the password was generated; it is not a guarantee that a password is safe to use everywhere.
Good practice
Use a different password for every account and store it in a password manager. Longer passwords increase the search space far more than adding symbols. Passwords cannot be recovered from this page later: nothing is saved.
FAQ
- Is my password sent anywhere or stored?
- No. Passwords are generated in your browser and are not sent to a server, stored, or added to the page URL. Copying only happens when you select Copy password. Your browser, extensions and operating system are outside this page's control.
- How long should my password be?
- For passwords stored in a password manager, 16–20 random characters or more is a common choice. Some systems limit length or allowed symbols; adjust the options to match.