Password Generator
Generate random passwords of 4–128 characters from uppercase, lowercase, digits and your own symbol set, using the browser's secure RNG.
Your inputs and files stay in your browser
Options
Generated Password
History (last 10)
History is empty
On this page
Password Generator creates random passwords from the character sets you choose, with a length from 4 to 128 characters. Every character is drawn independently from a cryptographically secure random source inside your browser; nothing is sent anywhere.
Detailed Functionality
Choose any mix of uppercase A–Z, lowercase a–z, digits 0–9 and special characters. By default the special set is !@#$%^&*()_+-=[]{}|;:,.<>? (26 symbols); type your own list in Custom Symbols to replace it — duplicates and spaces are dropped so every symbol stays equally likely, and non-ASCII symbols work too. Each position is picked uniformly from the combined alphabet by a Rust/WebAssembly generator seeded from crypto.getRandomValues.
A password is generated as soon as the page opens; Generate Password creates a new one. The last 10 passwords are listed in History (last 10) with their own Copy buttons; the history lives only in the open page and disappears on reload or Clear History. Your length and character-set choices are saved in localStorage, the passwords themselves are not.
Strength comes from length and alphabet size: 16 characters from all four default sets (88 symbols) give about 103 bits of entropy. The generator does not force one character from every set, so a short password can occasionally lack a digit or a symbol.
Practical Examples
Everyday account password: length 16 with all four sets enabled draws from 88 symbols (about 103 bits), producing something like q7}Rv;2mX!e9Lw@c.
Site that allows only a few symbols: enable Special Characters and set Custom Symbols to -_.; the alphabet becomes 26 + 26 + 10 + 3 = 65 characters, and no other symbol can appear.
Secret for a .env file: letters and digits only (62 symbols) at length 64 give about 381 bits, with no quotes or $ that would need escaping in shell or YAML.
Numeric test code: only Numbers (0-9) at length 6 gives one of 1,000,000 codes such as 804219 — fine for test data, too weak for an account.
How to Use This Tool
Set the length
Move the Password Length slider anywhere from 4 to 128 characters.
Pick character sets
Tick Uppercase (A-Z), Lowercase (a-z), Numbers (0-9) and/or Special Characters. Optionally list the allowed symbols in Custom Symbols.
Generate
Click Generate Password. Each click adds the new password to History (last 10).
Copy
Click Copy next to the result or next to any entry in the history.
Tips and Best Practices
- Length matters more than symbols: each extra character from an 88-symbol alphabet adds about 6.5 bits, while switching symbols on adds less than 0.6 bits per character.
- If a site rejects certain characters, list only the accepted ones in Custom Symbols instead of turning special characters off entirely.
- A password without a required digit or symbol is possible for short lengths; just generate again.
- History is kept only in the open tab; use Clear History before stepping away from a shared screen.
- Store generated passwords in a password manager; reusing one across sites defeats the randomness.