Skip to content
FindTool

    Password Generator

    Create strong random passwords or passphrases, with a real entropy estimate in bits.

    Password Generator tool

    Mode
    Characters to use

    What this tool does

    It builds a password from characters, or a passphrase from words, drawing every choice from crypto.getRandomValues() with rejection sampling so that each symbol is exactly as likely as every other. Then it tells you what that is actually worth, in bits, rather than colouring a bar green.

    Nothing here is transmitted. The value is generated in this tab, never sent to a server, never written to localStorage, and gone when you close the page.

    Common uses

    • A unique password for one account, pasted straight into a password manager.
    • A database or service account credential that no human will ever have to type.
    • A passphrase for a disk-encryption or SSH key that you do have to type.
    • A shared secret for a webhook, where 128 bits costs nothing and removes a worry.

    A short example

    Twenty characters from all four classes, and the arithmetic behind it:

    qR7vLm2Xd9Ktp4Zb6#w!
    
    alphabet   26 + 26 + 10 + 27 = 89 symbols
    entropy    20 x log2(89) = 129.5 bits
    crack time 2^128.5 / 10^11 per second = 1.5 x 10^20 years

    Do not use that one, or any other password printed on a public page.

    Reading the entropy figure

    Entropy here means log2 of the number of passwords the settings can produce — not a guess about how clever the string looks. Twenty characters from the full 89-symbol set is 20 × log2(89) ≈ 129 bits. Turning off symbols drops the alphabet to 62 and the total to about 119 bits. Switching on no repeated characters lowers it again, because the second character can no longer be any of 89 — the figure shown accounts for that by summing log2(89) + log2(88) + … rather than pretending otherwise.

    Useful reference points: 40 bits falls in hours, 60 bits is uncomfortable, 80 bits is fine for almost anything, and 128 bits is the point past which the algorithm around the password is the weak part.

    Passphrases and the six-word rule

    A passphrase drawn from this 250-word list carries log2(250) ≈ 7.97 bits per word, so six words is about 48 bits and ten words about 80 — weaker per word than the EFF's 7,776-word Diceware list at 12.9 bits, which is the price of keeping every word short enough to type. Capitalising each word adds exactly nothing, because it is a fixed transformation an attacker applies too; the four-digit suffix adds 13.3 bits.

    Worth knowing

    Length beats character variety. A sixteen-character lowercase password has more entropy than an eight-character one using every symbol on the keyboard, and it survives contact with a terminal, a CSV file and a phone keyboard far better. Rotating a strong unique password on a schedule provides no security benefit — NIST SP 800-63B dropped that advice in 2017 — but changing one you suspect was exposed obviously does.

    Frequently asked questions

    Why does a site reject a password this tool produced?

    Usually an undisclosed cap. Plenty of banks still refuse anything past 16 or 20 characters, and some strip symbols silently instead of complaining. The failure worth knowing about is bcrypt, which truncates its input at 72 bytes — everything beyond is ignored rather than rejected, so two long passwords sharing a 72-byte prefix are the same password. If only long values fail at login, test that boundary first.

    How do I check whether a password has appeared in a breach?

    The Pwned Passwords range API answers without ever seeing it. You send the first five hex characters of the value’s SHA-1 — used purely as a bucket index, not as protection — and receive several hundred matching suffixes to compare locally. A hit means that exact string sits in a published dump. Generate a fresh value rather than editing the compromised one, since appending a digit is the first thing a cracking rule tries.