Skip to content
StartPrivate
Menu
Language: EN

20-character password generator

Twenty random characters from all four types. At this length, guessing the password stops being a realistic attack on its own.

Runs on your device. Files are not uploaded. How to check this yourself

124.8 bits of entropy

20 × log2(76) = 125.0 bits. Passwords that miss one of the chosen types are thrown away and drawn again, so the exact count of possible passwords gives 124.8 bits.

Characters to use

Made on this device with crypto.getRandomValues. What you generate is not saved or sent.

Twenty random characters, each one of 76 possibilities, give about 125 bits, or 124.8 with one of each type required, within a few bits of the 128-bit keys used in modern encryption. Apple's automatic strong passwords are also 20 characters, but Apple rates them at 71 bits because they follow a fixed, easy-to-type pattern. Length alone does not set strength; the randomness of every position does.

The point where brute force stops mattering

NIST's key-management recommendation, SP 800-57 Part 1, rates a security strength of 128 bits as acceptable for protecting data in 2031 and beyond, while 112 bits drops out after 2030. A 128-bit AES key sits at that level. A randomly generated password that carries about as many bits is in the same position: nobody will find it by trying combinations, however fast their hardware, and an attacker has to look for other ways in.

With this generator's full set of 76 characters, each position adds 6.25 bits, so 20 characters reach about 125 bits and 21 characters pass 128. How quickly you get there depends on the characters you allow:

Allowed characters Set size Bits at 20 characters Length needed for 128 bits
Digits 10 66.4 39
Lowercase letters 26 94.0 28
Easy-to-type set (lowercase and digits, no look-alikes) 31 99.1 26
Lowercase and digits 36 103.4 25
Wi-Fi set (letters and digits, no look-alikes) 57 116.7 22
Letters and digits 62 119.1 22
All four types, look-alikes removed 70 122.6 21
All four types 76 125.0 21

For guessing times, assume someone holds an unsalted fast hash of the password and can test it at two deliberately generous speeds: 10¹² guesses per second, about four current high-end GPUs against NTLM, and 10¹⁵ per second, a thousand times that. Searching half the space of a 20-character, one-of-each password takes about 6.0 × 10¹⁷ years at the first rate and 6.0 × 10¹⁴ years at the second. Those numbers are not meant to reassure in detail; they show the question has moved elsewhere, to phishing, malware, reuse and how the service handles your password.

Generate a 20-character password

  1. Keep the length at 20 with uppercase, lowercase, digits and symbols on.
  2. Press Generate; the entropy should read about 125 bits.
  3. Record it in your password manager before using it anywhere.
  4. Paste it into the site, the device or the configuration that needs it.
  5. Sign out and sign back in to confirm the full 20 characters were accepted.

Apple's 20 characters versus these 20

Apple's Passwords app and Safari suggest strong passwords that are 20 characters long. According to Apple's platform security guide, they contain one digit, one uppercase letter, two hyphens and sixteen lowercase letters, and carry 71 bits of entropy. The format, with hyphens splitting the password into groups, is designed so that you can type it on a phone keyboard when autofill is not available.

The gap between 71 and 125 bits comes from structure, not length. In Apple's format the hyphens sit in fixed places and most positions are lowercase, so far fewer combinations are possible. Here, every one of the 20 positions can be any of 76 characters. Both are strong; Apple trades about 54 bits for easier typing, a reasonable trade when the password lives in a manager. If you want this page's equivalent of that trade, the easy-to-type preset uses lowercase and digits in groups of four.

Where 20 characters fit

The Wi-Fi preset also uses 20 characters, with a character set chosen for on-screen keyboards rather than for maximum bits.

Where 20 is awkward

Private by construction

The page generates the password with code running in your browser. It sends nothing to a server, writes nothing to storage, and keeps no record of past results; a reload clears the screen and memory.

Technical background

Randomness comes from the Web Crypto API's crypto.getRandomValues. The generator maps random values to characters by rejection sampling, so all 76 characters have equal odds, and with "one of each type" on, the reported entropy counts only the 92.3% of 20-character strings that contain every type. The methodology page shows how to watch the browser's network activity while you generate.

FAQ

Does a 20-character password satisfy the main standards?

Yes. It is above NIST's 15-character minimum for single-factor passwords, PCI DSS 4.0's 12, CISA's 16 for the public, and the 15 that OWASP ASVS 5.0 strongly recommends. It is also well inside the 64 characters NIST asks services to accept.

Is 20 characters the most I will ever need?

For guessing resistance, 21 characters of all four types passes 128 bits, which is the practical ceiling for any password. Go longer only when the extra length is free, for example in a config file or a manager.

Why is Apple's 20-character password weaker than this one?

Apple's format fixes the positions of two hyphens and uses mostly lowercase letters so it is easy to type on a phone. That leaves 71 bits. Every position here is fully random, giving about 125.

Would 20 characters be enough for an encryption password?

Yes, and comfortably so if the software uses a slow key derivation function. The bigger risk for encryption passwords is forgetting them, so store a copy safely.

Do I need symbols at 20 characters?

No. Letters and digits alone give about 119 bits at this length. Keep symbols on unless the place you are pasting it into rejects them.

Why does the strength meter say 124.8 instead of 125 bits?

The "one of each type" option excludes the 7.7% of 20-character strings that are missing a type, which removes about 0.1 bit. Turn the option off and it reads 125.0.

Sources

Checked 2026-10-11.

Last updated: