{{ summaryTitle }}

{{ summaryLine }}

Length{{ hasPassword ? currentGeneration.length : '—' }} Search space{{ hasPassword ? `${formatNumber(currentGeneration.entropyBits, 1)} bits` : '—' }} zxcvbn{{ zxcvbnBadge }}
{{ summaryAnnouncement }}
Secure password generator
Password generation controls
Use a long mixed password when the destination permits it; PINs have a much smaller search space.
{{ length }} chars
Choose a whole-number length from 4 to 128.
chars
{{ option.tooltip }}
{{ params[option.id] ? 'Included' : 'Excluded' }}
{{ option.tooltip }}
{{ params[option.id] ? 'On' : 'Off' }}
Optional and neutral when blank. Spaces and non-printable characters are ignored.
Optional and neutral when blank.
Password review
{{ row.label }}{{ row.value }}
Generate a unique password for each account, save it in a trusted password manager, and enable multi-factor authentication where available. Search-space and crack-time figures are estimates, not guarantees.
{{ chartExportStatus }}

The chart renderer is unavailable. The current search-space estimate remains available in the password review.

{{ historyExportStatus }}
RunPasswordLengthPoolSearch spacezxcvbnCopy
{{ row.id }}{{ row.password }}{{ row.length }}{{ row.poolSize }}{{ formatNumber(row.entropyBits, 1) }} bits{{ row.zxcvbnScore >= 0 ? `${row.zxcvbnScore}/4` : 'Pending' }}

A password protects an account only while attackers cannot guess it or reuse it from another breach. Human-made passwords often contain names, dates, keyboard walks, and predictable substitutions. A machine-generated password avoids those habits by choosing every character from a defined pool with a cryptographically strong random source.

Length and randomness do different jobs. Length multiplies the number of possible strings, while randomness prevents a guesser from placing the most familiar strings first. Adding character types can widen the pool, but composition rules are mainly compatibility constraints when a site requires a digit or symbol. They do not rescue a short or reused password.

Character pool
The distinct letters, digits, symbols, and extra allowed characters available for each draw.
Search-space entropy
A bit count derived from pool size and length, assuming the generated choices are random.
Pattern-aware estimate
A separate score that looks for common words and structures that a simple pool calculation misses.

Destination rules still set the usable shape. Some services reject punctuation, cap the length, or require at least one character from each enabled group. Passwords that must be read over the phone or typed on a television may benefit from removing lookalikes. Those concessions shrink the search space, so extra length is often the cleanest way to recover strength.

No estimate turns one password into a complete security plan. Give every account a different password, store it in a trusted password manager, and enable multi-factor authentication where it is available. A long password reused across sites can still be exposed by the weakest site that stores it.

How to Use This Tool:

Choose a policy the destination will accept, then generate a fresh value after every settings change.

  1. Choose Policy preset. The recommended mixed preset suits most password-manager entries, while the numeric preset is only for destinations that require a PIN.
  2. Set Length from 4 to 128 characters and enable only the character groups the destination accepts.
  3. Use Exclude ambiguous characters for manual reading, Require each enabled type for a site composition rule, or Use each character once when repeats are forbidden. Add or block printable characters only when the destination requires it.
  4. Select Generate password. If generation is unavailable, correct the stated pool or length problem; a unique-only password cannot be longer than its remaining pool.
  5. Review the generated length, active pool, search-space estimate, and pattern-aware score before copying the hidden password into its final password-manager entry.

Interpreting Results:

The search-space figure answers a narrow question: how many equally likely strings fit the selected generation policy. The average offline-guess time then applies a fixed benchmark of 10 billion guesses per second. Real attackers may be slower or faster, and a compromised service can bypass guessing entirely.

Treat the pattern-aware score as a second opinion, not a guarantee. A freshly generated password with a large search space is the useful result; reuse, disclosure, phishing, weak account recovery, or unsafe storage can defeat it without reducing either displayed score.

Technical Details:

Generation begins with the allowed pool. Enabled uppercase, lowercase, number, and symbol sets are combined with any extra printable ASCII characters, duplicates are removed, and blocked or ambiguous characters are subtracted. The policy is invalid when nothing remains, when required groups outnumber password positions, or when unique-character mode asks for more positions than the pool contains.

Rule Core

Each selection uses a cryptographically strong unsigned 32-bit random value. Values above the largest multiple of the current pool size are discarded before taking a remainder, which avoids the small bias caused by mapping an uneven integer range directly onto the pool. Required character groups are drawn first when enabled, the remaining positions are filled from the full eligible pool, and the completed string is randomly shuffled.

Password policy rules and their effects
RuleEffectImportant limit
Remove lookalikesExcludes 0, O, o, 1, l, and I.Reduces the active pool.
Require each typePlaces at least one character from every enabled built-in group, then shuffles.Length must be at least the number of enabled groups.
Unique charactersRemoves every selected character from later draws.Length cannot exceed the pool size.
Extra and blocked charactersAccepts distinct printable ASCII characters only; blocked characters win.Each field is limited to 64 characters.

Formula Core

With replacement, every position has the same number of choices. If N is the active pool size and L is the password length, the estimated search-space entropy is:

H=L×log2(N)

Unique-character mode samples without replacement, so the number of choices falls after every draw:

H=i=0L1log2(Ni)

The crack-time benchmark assumes that half the search space is tested on average at R = 10 billion guesses per second:

T=2H1R

A 20-character password drawn with replacement from the full 94-character printable pool has about 131.1 bits of search-space entropy. A six-digit PIN has about 19.9 bits and one million possible values, producing a displayed average of less than one second at the fixed offline benchmark. These figures describe the stated model, not a measured attack on a particular service.

Privacy and Safety Notes:

The password is generated in the current browser tab and is not saved by this tool. Generation history is also limited to the tab and keeps at most 12 entries, so close the page after storing the chosen password.

  • Do not paste a live password into tickets, chat, email, screenshots, or strength-checking sites.
  • Regenerate any password that was exposed before it reached the intended password manager or account.
  • A numeric PIN has a much smaller search space than a long mixed password and should be used only where the destination requires it.

Worked Examples:

Account that rejects symbols

Choose the 20-character letters-and-numbers preset instead of generating a mixed password and deleting punctuation afterward. The active pool and entropy estimate then match the password that is actually saved.

Password that must be read aloud

Remove lookalikes and keep a long length. The smaller pool reduces the estimate slightly, but avoiding confusion between 0 and O prevents a handling mistake without introducing a human pattern.

FAQ:

Why can the entropy estimate and pattern-aware score disagree?

Entropy uses pool size and length under the selected random model. The pattern-aware score searches the finished string for familiar structures, so it can flag an unusually recognizable result that the pool equation does not describe.

Does requiring every character type always make a password stronger?

It guarantees compatibility with a composition rule, but length, randomness, uniqueness, and safe storage matter more. Use the requirement when the destination demands it.

References: