Every value is drawn with crypto.getRandomValues, not Math.random. Generation stays in this tab. Nothing is written to storage or sent to a server.
crypto.getRandomValues. It reads like a real recovery phrase, purely for games, prompts, or fun.For random passwords, the selected character sets (uppercase, lowercase, numbers, symbols) are combined into one alphabet, and each position is chosen using a 32-bit cryptographically secure random value, with any values that would introduce modulo bias rejected and re-rolled — a technique that avoids the subtle statistical bias that a naive random-index approach can introduce.
If you've selected multiple character sets, one character from each is guaranteed to appear somewhere in the password, and the whole string is then shuffled using that same cryptographically secure randomness — ensuring your password genuinely mixes character types rather than possibly missing one by chance.
The strength label shown is a coarse estimate based on length and character pool size alone — it isn't checked against known breach databases like Have I Been Pwned, and it doesn't model your personal habits. The separate seed-phrase generator draws each word uniformly from the standard 2,048-word BIP-39 English wordlist using the same cryptographically secure randomness, producing something that reads like a real recovery phrase purely for games, prompts, or fun — not an actual wallet seed.
Each character position uses a cryptographically secure random value (not the weaker Math.random()), with bias-introducing values rejected and re-rolled. This is the same class of randomness used for real security-sensitive purposes, not a simple pseudo-random shuffle.
No — the strength label is a coarse estimate based only on length and character pool size. It doesn't check against breach databases like Have I Been Pwned or evaluate real-world password habits.
No — it draws words uniformly from the standard BIP-39 wordlist purely for entertainment, games, or writing prompts. It is explicitly not intended to generate an actual wallet recovery phrase.
One character from each selected set is placed first to guarantee representation, then the entire string is shuffled using the same cryptographically secure randomness — so the final password always includes each selected type, in a random order.