Shim

Random values

Passwords, identifiers and random strings, drawn from your browser's cryptographic random source. Nothing generated here is transmitted, logged or recoverable by anyone including us.

About random values

The quality of a random generator is invisible in its output. Two password generators can produce results that look equally scrambled while one is trivially predictable, so it is worth saying plainly where these numbers come from.

Everything here draws from the browser's cryptographic random source. The ordinary one is a fast pseudorandom sequence seeded from the clock, which is fine for shuffling a list and unacceptable for anything protecting something. An attacker who knows roughly when a password was generated can narrow a clock-seeded search space enormously, and that has been a real vulnerability in real systems rather than a theoretical concern.

Selection is unbiased, which is a separate problem and a commonly missed one. Taking a random byte and dividing it by the size of the alphabet skews the result toward the earlier characters, because 256 does not divide evenly by 62 or by 10. The skew is small, entirely invisible without measuring, and present in a lot of generators. Drawing again when a value falls outside the range costs almost nothing and removes it.

The password generator guarantees at least one character of every type you tick, rather than merely drawing from them. A twelve character password taken from a merged pool has roughly a one in six chance of containing no digit at all, which means the box was ticked, the password does not satisfy it, and the site demanding a digit rejects it.

Each tool shows the entropy of what it produced, in bits. That number is the honest measure of strength: each additional bit doubles the work required to guess the value, and it describes the result far better than a coloured strength meter does.