How it is generated
Characters are picked with crypto.getRandomValues, the browser's cryptographically secure random number generator. Rejection sampling avoids modulo bias, so every allowed character is equally likely. When several character sets are selected, the password is guaranteed to contain at least one character from each.
How long is long enough?
Entropy is length × log2(alphabet size). Around 80 bits resists offline cracking well; 128 bits is more than enough for anything. A 20-character password from all four sets is about 130 bits.
FAQ
Are the passwords saved?
No. They exist only in this page until you close it. Store the one you use in a password manager.
Why exclude look-alike characters?
When a password has to be read aloud or typed from paper, I/l/1 and O/0 cause mistakes. Excluding them costs a little entropy, shown in the bits counter.