Random Password and Passphrase Generator

Generate random passwords and word passphrases with the Web Crypto random generator. See the entropy in bits and how it is calculated. Nothing is stored.

Runs in your browser. Nothing is uploaded.

Security

Password Generator

Settings

Result

Press Generate. Passwords are created in your browser with the Web Crypto random generator and are not stored.

Example

Input
Length 20, lowercase + uppercase + digits + symbols
Result
Example result (yours will differ): a 20-character password
Entropy: about 129 bits (20 x log2(89))

How the passwords are made

Every character is chosen with crypto.getRandomValues, the browser's cryptographically secure random generator, not Math.random. Picking a character from a list of, say, 89 options by taking a random number modulo 89 would make some characters slightly more likely than others. This tool avoids that with rejection sampling: random 32-bit values that fall in the uneven tail are thrown away and redrawn, so every character is exactly equally likely.

You can set a length from 4 to 128, tick the character types you want, skip look-alike characters such as l, 1, I, O and 0, and leave out any characters a site refuses. If you ask for every ticked type to appear, a password that misses one is discarded and redrawn. That keeps the result uniform over all valid passwords, unlike the common shortcut of inserting one character of each type and shuffling.

Passphrases and entropy

Passphrase mode joins random words from the EFF Large Wordlist, a list of 7,776 words published by the Electronic Frontier Foundation under a Creative Commons Attribution licence. Each word adds log2(7,776), about 12.9 bits, so six words give about 77.5 bits. Passphrases are easier to type and remember than random symbols, which makes them a good choice for a password manager's master password or a disk encryption key.

The strength bar shows entropy: the base-2 logarithm of the number of different results the generator could produce. For a password the formula is length x log2(pool size); with the require-every-type option the exact count is computed by inclusion-exclusion and the formula is shown on screen. The labels are only a guide to that number. This tool does not claim a time to crack, because that depends on how a service stores passwords and on an attacker's hardware, neither of which the page can know.

Using them safely

Use a different password for every account and keep them in a password manager so you never have to memorise them. A long random password is only as safe as the site that stores it, so turn on two-factor authentication wherever it is offered. Current NIST guidance on digital identity (SP 800-63B) favours length and discourages forced composition rules and routine expiry, so if a site allows it, a longer password beats a shorter one with more symbols.

Generated values exist only in this page's memory. They are not sent anywhere, not logged and not saved, and reloading the page clears them. Copy a password straight into your manager rather than leaving it in a note or chat.

Frequently asked questions

Is this random enough for real passwords?

Yes. It uses the Web Crypto random generator that browsers provide for security purposes, plus rejection sampling so no character is favoured. That is the same class of randomness password managers use.

How long should a password be?

For accounts kept in a password manager, 16 to 20 random characters is a common choice, and longer costs you nothing. For something you must type or remember, a passphrase of six or more random words is better than a short password.

What does "bits of entropy" mean?

It is the base-2 logarithm of how many different values the generator could have produced. Each extra bit doubles the search space. It describes the generator, not a particular password, and it assumes the attacker knows your settings.

Where does the word list come from?

The EFF Large Wordlist, 7,776 words chosen to be easy to read and spell, released under CC BY 3.0 US. It is downloaded only if you use passphrase mode.

Do you store or send what I generate?

No. Generation runs in your browser, results are not stored, and the page makes no request containing them. Closing or reloading the page discards everything.

Related tools