Choose a length and which characters to allow. The randomness comes from the browser’s cryptographic generator, and values that would skew the result are discarded rather than folded in — the shortcut everyone takes makes the first few characters of the set more likely than the rest, which lowers the real strength below the number on screen and cannot be spotted by looking. Similar-looking characters are left out by default.
This page loads no libraries at all — the work is done by the browser itself. Your file is read on your own machine and never sent anywhere — open your browser's network tab and watch while you use it.
The quick way to pick from a set of 70 characters is to take a random byte and divide by 70, keeping the remainder. But 256 does not divide by 70: the first 46 characters get four chances each and the rest only three, so they turn up about a third more often. The password still looks random, and its real strength is lower than the entropy figure printed next to it. Here, bytes that would land in the uneven tail are thrown away and a new one is drawn.
The browser’s own cryptographic generator, the same source used for keys and session tokens. It is not the ordinary random function, which is fast, predictable enough to reconstruct, and completely unsuitable for anything you would call a secret.
Because passwords get read aloud, copied off screens and typed from paper, and those five are the ones people get wrong. They are excluded by default and can be switched back on when the password will only ever be pasted — which does raise the entropy slightly.
No, and this is one place where that guarantee is worth checking rather than trusting. They are generated in the page and never leave it; open the network tab while you press the button and you will see nothing go out.
Everything here is free and works the same way — in your browser.