CodingSetu

Strong Password Generator

Free strong password generator — random passwords with custom length and character sets, plus entropy after pattern penalties and crack-time estimates for online, offline and GPU attacks. Generated locally in WebAssembly; nothing is uploaded.

Shares a link with your input encoded in it — nothing is uploaded.

Runs entirely in your browser — nothing you enter is uploaded or stored.

Ask about this tool on

Generating a password worth having

Every password here is drawn from the browser's cryptographic random source using rejection sampling, which matters more than it sounds: taking a random byte and using% alphabet.length quietly makes the first few characters of the alphabet more likely than the rest. Rejection sampling throws away the biased range instead, so every character is equally probable.

Reading the strength panel

Two entropy figures are shown. The raw figure is what the length and alphabet imply. The effective figure subtracts what a pattern-aware attacker gets for free — a cracker does not try aaaaaaaa and qwertyui in the same order as random strings, it tries them first. For a generated password the two figures match, because there is nothing to find. That gap is the entire difference between a password you made up and one you generated.

Why the crack times vary so much

The rows are different attacks, not different guesses at the same one. Rate-limited online guessing manages a few attempts per second. An offline attack on a stolen database runs as fast as the hash allows — billions per second against unsalted SHA-1, a few thousand against bcrypt at a sensible cost factor. The password is identical in both rows; what changes is what the site did with it.

Frequently asked questions

How long should a password be?

Long enough that guessing is hopeless, which for a randomly generated password means about 16 characters over a mixed alphabet — roughly 100 bits. Beyond that you are protecting against nothing that exists. Length matters far more than symbol variety: adding one character multiplies the search space by the alphabet size, while adding a symbol class multiplies it once.

What does "effective bits" mean, and why is it lower than the raw figure?

The raw figure assumes every character was chosen independently at random. The effective figure subtracts what an attacker gets for free by guessing patterns first — repeats, keyboard walks, dates, dictionary words. For a password generated here the two are usually identical, because there are no patterns to find. Paste a human-chosen password into the analyser and they diverge sharply.

Why do the crack times differ so much between rows?

They are different attackers. An online attack goes through a login form that rate-limits and locks out; an offline attack against a stolen database runs at the speed of the hash the site used. That is why the same password is unbreakable against one and trivial against another — the password did not change, the hash did.

Is the password sent anywhere?

No. It is generated locally by a WebAssembly build of the Rust engine using rejection sampling over the browser CSPRNG, so there is no modulo bias. Nothing is transmitted, and this site has no endpoint that could receive it.

Related tools