A password you did not choose
Direct answer: This password generator makes a random password or passphrase in your browser using crypto.getRandomValues, the same randomness a browser uses for cryptography — never Math.random. Set the length and the character sets, or switch to a passphrase of real words, and it tells you the entropy in bits and how long the result would stand up to offline cracking. Nothing is generated on a server, nothing is sent anywhere, and nothing is stored.
The reason to use a generator at all is that people are bad at being random and good at believing they are. A password you invented has structure — a word, a date, a substitution you thought was clever — and structure is exactly what a cracking rig searches first. A generated password has none, which is what makes the bit count below it mean something.
The entropy figure is a count, not a score. Plenty of strength meters guess at how hard a password looks; this one knows exactly how many choices went into the secret, because it made every one of them. Sixteen characters from the full 91-character pool is 16 × log₂(91) ≈ 104 bits. Turn a character set off and the number falls. Turn on no character twice in a row and it falls by a fraction, because that rule really does remove one option from every position after the first — and the figure accounts for it rather than ignoring it.
The passphrase list is 1,947 words, at 10.93 bits each, drawn from common English and filtered so that no two words share their first three letters — so a typo at the start cannot silently land you on a different word. Six words is 66 bits and reads back over a phone without spelling anything out. Capitalising the words is offered because some password rules demand it, and it is labelled as adding no entropy, because capitalising all of them is a formatting choice rather than a random one.
Related: the Hash Generator for checksums, the UUID Generator for identifiers, and the HMAC Generator for signing.