webutilkit

Password Generator

Generate a random password with your choice of length and character types, using a secure RNG.

Password

How it works

Each character is chosen using crypto.getRandomValues, the browser’s cryptographically secure random number generator, from a pool built out of whichever character types you enable. Math.random() is deliberately not used here — it is fast but not designed to be unpredictable.

Length matters more than complexity

A longer password with fewer character types can be stronger than a short one crammed with symbols, because length increases the number of possible passwords exponentially. Twenty random lowercase letters is harder to guess than eight random characters from every character type combined.

Ambiguous characters

Enabling “exclude ambiguous” removes characters that look alike in many fonts — i, l, 1, L, o, 0, O — which is useful for a password you expect to type by hand or read off a screen rather than paste.

Frequently asked questions

Is this randomness secure enough for real passwords?

Yes. Passwords are generated with crypto.getRandomValues, the browser’s cryptographically secure random number generator, the same primitive used for encryption keys — not Math.random, which is not designed to be unpredictable.

Are generated passwords stored or sent anywhere?

No. Generation happens entirely in your browser and nothing is transmitted or saved once you leave the page.