Password Generator
Generate strong, random passwords with custom length and character sets — in your browser.
Runs in your browser — files never leave your device
Generated with secure randomness, entirely on your device.
How it works
Set a length between 6 and 64 characters (the slider defaults to 16), tick the character sets you want, and click Generate. The password appears with a copy button; clicking Generate again draws a completely fresh one.
Randomness comes from crypto.getRandomValues, the browser’s cryptographically secure random number generator — the API designed for key material, not the predictable Math.random. Each position in the password is drawn independently and uniformly from the combined pool of enabled sets: 26 lowercase letters, 26 uppercase letters, 10 digits, and 23 symbols — 85 characters at full strength.
Strength is measured in bits of entropy: length × log2(pool size). With all four sets enabled, each character contributes about 6.4 bits:
- 12 characters ≈ 76.9 bits — a reasonable floor for low-value accounts
- 16 characters ≈ 102.6 bits — the default, comfortably beyond brute-force reach
- 20 characters ≈ 128.2 bits — for master passwords and long-lived secrets
Dropping the symbol set shrinks the pool to 62, so a 16-character password falls to about 95.3 bits — still strong, and easily recovered by adding a few characters of length. As a concrete example, with everything enabled at length 16 you might get x7!Kp@2mQ#9vR}4c — yours will differ on every click, which is the point.
Two practical notes. Characters are drawn independently, so nothing forces every enabled set to appear — a password can lack a digit even with digits ticked; regenerate if a site demands one. And because some sites reject specific punctuation, the symbol set sticks to common characters (!@#$%^&*()-_=+[]{};:,.?) — if a site still complains, untick symbols and add length instead. Store the result in a password manager, and never reuse it across sites.
Frequently asked questions
- How is the password generated?
- Each character is drawn independently with crypto.getRandomValues — the browser’s cryptographically secure random number generator, the same API used for key generation in web cryptography. Math.random is never used; its output is predictable and unsafe for secrets.
- How long should my password be?
- Sixteen characters with all four sets enabled (about 102.6 bits of entropy) is a strong default that puts offline cracking out of reach. Treat 12 characters (76.9 bits) as a floor for low-value accounts, and go to 20 or more (128.2 bits and up) for password-manager master passwords, disk encryption, or anything long-lived.
- What do the entropy numbers actually mean?
- Entropy measures how many equally likely passwords your settings could produce: bits = length × log2(pool size), and each extra bit doubles an attacker’s worst-case work. With all sets enabled the pool is 85 characters, so every character you add contributes about 6.4 bits — adding length strengthens a password faster than swapping in exotic characters.
- Why does my password sometimes lack a digit or symbol I enabled?
- Characters are drawn independently, so nothing guarantees that every enabled set appears — a 16-character password will occasionally contain no digit even with digits ticked. If a site insists on at least one digit or symbol, click Generate again; a missing set does not weaken the password itself.
- Which symbols are included?
- The symbol set is !@#$%^&*()-_=+[]{};:,.? — 23 punctuation characters chosen to be widely accepted. If a site rejects symbols entirely, untick the set and add length to compensate: a 20-character letters-and-digits password (119.1 bits) is stronger than a 16-character one drawn from all four sets (102.6 bits).
- Should I use a password manager with this?
- Yes — the practical way to use random passwords is to generate a unique one per site and let a password manager remember it. Reusing even a very strong password erases its benefit the first time any single site leaks it.
- Are passwords sent anywhere?
- No. Passwords are generated on your device with the browser’s secure random generator and are never stored, logged, or transmitted; regenerating or closing the tab discards them. Copy the result straight into your password manager.
Related tools
- Percentage CalculatorWork out percentages: X% of Y, what percent one number is of another, and percentage change.
- Color Converter (HEX / RGB / HSL)Convert colors between HEX, RGB and HSL and preview the result.
- Color Contrast CheckerCheck the contrast ratio between two colors against WCAG AA and AAA standards.
- QR Code GeneratorCreate QR codes for URLs, text, Wi-Fi and contacts in your browser and download as PNG.
- Barcode GeneratorGenerate Code128, EAN and UPC barcodes locally and download as an image.
- Passphrase GeneratorCreate memorable, secure passphrases from random words.