~/random-password-generator ☀ LIGHT apps ← about me

🌐 Language

// cryptographic rng · nist sp 800-63b-4 · nothing transmitted

random password generator_

Strong passwords and passphrases, generated by your browser's cryptographic RNG. Every result comes with its exact entropy and an honest answer to “how long would this take to crack?” — four attack models, not one flattering number. Nothing you generate or type is transmitted anywhere.

password
Time to crack — by who is attacking, and how the site stored it
You don't get to choose which column applies — the site does, when it decides how to store your password. Assume the worst one. Rates are stated so you can check the arithmetic rather than trust it.
Length 20
Characters
Rules the site forced on you
NIST SP 800-63B-4 forbids sites from imposing composition rules — the guidance now says verifiers shall not require a mixture of character types. Plenty of sites never got the memo, so the switches are here; they just aren't the point.
Words 6
Separator
Extras
Words are drawn from the EFF long wordlist — exactly 7,776 words, so every word is worth precisely 12.92 bits no matter which one comes up. That is what makes the entropy figure above a fact rather than a guess. Six words beats a twelve-character random password, and you can actually remember it.
Digits 6
A PIN is for a device that locks after a handful of wrong tries — a phone, a SIM, a door. Read the rate-limited column and ignore the rest: a 6-digit PIN is a million options, which is fine behind a lockout and hopeless anywhere else. Never use a PIN as a website password.
How many 10
Uses the settings from the password tab. Each one is generated independently.
A downloaded file is a plaintext list of passwords sitting in your Downloads folder. Move them into a password manager and delete the file — don't leave it there, and don't email it.
Type or paste a password to analyse
This runs in the page. There is no server to send it to — open your network tab and watch, or turn off your Wi-Fi and try it. It is still not a good idea to paste a password you use into any website, including this one.
Nothing here is transmitted. Generation, analysis and the breach check all run in this page using crypto.getRandomValues() and a word list that ships with it. There is no backend, no logging and no analytics event that carries what you generate. The page loads an anonymous, cookie-free page-view counter and nothing else.

How strong does a password actually need to be?

The honest answer is that it depends on something you cannot see: how the site stores it. Give the same 16-character password to two websites and it might survive for millennia at one and fall in an afternoon at the other, purely because one used bcrypt and the other used unsalted MD5. That is why this tool refuses to print a single number. It shows you four columns, tells you the guess rate assumed in each, and lets you draw the conclusion.

As a working rule: anything that reaches 75–80 bits of entropy is beyond reach of even a well-funded offline attack against a fast hash, and anything under 50 bits should be treated as already broken. A 20-character password drawn from all four character classes is about 130 bits. Six words from the EFF list is about 77. Both are past the line; the second one you can say out loud.

What changed in the NIST guidance

The current revision of NIST SP 800-63B reversed a lot of advice that is still repeated everywhere. The parts that matter when you are picking a password:

The old habitWhat the guidance now says
8 characters is enough15 characters minimum for a password used on its own; verifiers should allow at least 64
Force upper + lower + digit + symbolVerifiers shall not impose composition rules at all
Expire passwords every 90 daysVerifiers shall not require periodic changes — only after evidence of compromise
Block odd charactersAll printing ASCII and spaces should be accepted, and Unicode too
Security questions as backupKnowledge-based authentication is not permitted
Just check complexityCompare against a blocklist of known-breached passwords

The last row is the one most generators skip. This one ships an offline copy of the 10,000 most common breached passwords and checks against it in the browser, so the check costs you nothing and tells no one.

Why length beats complexity

Every character you add multiplies the search space by the size of the alphabet; every extra character class only widens the alphabet once. Adding one character to a 12-character lowercase password multiplies the work by 26. Switching that same password to mixed case and symbols multiplies it by roughly 3.6 per character — helpful, but it is the length that carries the weight. This is also why P@ssw0rd! fails: the substitutions look like complexity but an attacker's tooling undoes them for free, leaving a nine-character common word.

Related tools

Frequently Asked Questions — Passwords, Entropy & NIST

— Using this generator
What length should I actually pick?

20 characters is the default here and it is a good answer for anything stored in a password manager: it is about 130 bits, which no offline attack reaches. If you have to type it by hand, a six-word passphrase is easier to live with and still around 77 bits. The one number to avoid is the old habit of 8 — NIST now sets 15 as the minimum for a password used on its own, and 8 characters falls to a fast offline attack in well under a second.

Password or passphrase — which should I use?

Use a password for anything a password manager will remember for you: it is shorter for the same strength. Use a passphrase for the handful you must type from memory — your password manager's master password, your device login, your disk encryption. Six words from a 7,776-word list is 77 bits and reads like anchor-purple-drift-lantern-mossy-quiver, which you can hold in your head after a couple of tries. A 13-character random string of the same strength cannot be memorised by anyone.

What do the four time columns mean?

They are the same password under four different attacks. Online, rate-limited is someone guessing at a login form that locks out or slows down. Online, no throttling is credential stuffing against an endpoint that forgot to rate-limit. Offline, slow hash is a stolen database that was hashed properly with bcrypt or Argon2id. Offline, fast hash is a stolen database hashed with unsalted MD5, SHA-1 or NTLM — still depressingly common. The guess rate assumed for each is printed next to it so you can check the arithmetic instead of trusting it.

Which column should I pay attention to?

The worst one, because you do not get to choose. When you sign up somewhere, that site silently decides how your password will be stored, and it will not tell you. Assume it is the fast-hash column and pick a password that survives it. The exception is a device PIN, where the hardware really does enforce a lockout — there the rate-limited column is the honest one.

Can I generate a batch at once?

Yes — the bulk tab makes up to 200 at a time using the settings from the password tab, with copy-all and .txt / .csv export. Each one is generated independently from the same cryptographic source. If you export a file, remember it is a plaintext list of passwords sitting in your Downloads folder: move them into a password manager and delete it.

Are there keyboard shortcuts?

Press R to generate a fresh one and C to copy it, as long as your cursor is not in a text field. Esc closes the language picker.

— Can I trust a password generator on the web?
Is anything I generate or type sent anywhere?

No. There is no backend to send it to. Generation, the strength analysis and the breach-list check all happen in the page, using your browser's crypto.getRandomValues() and a word list that shipped with the page. You do not have to take that on faith: open your browser's network tab and generate a few, or disconnect from the internet entirely — everything still works.

Should I trust any website with my passwords?

Healthy scepticism is correct, and it applies here too. A generated password is only ever seen by your browser, so a generator is a much smaller risk than it looks. But pasting a password you actually use into any website is a bad habit, including this one — the page is honest, and one day you will paste it somewhere that is not. If you want certainty, use the generator built into your password manager, or save this page and run it offline.

Can I use it offline?

Yes. Save the page (Ctrl+S / Cmd+S) and open the saved file — everything it needs is in that one file, so it works with no network at all. That makes it usable on an air-gapped machine, and it is also the easiest way to satisfy yourself that nothing is being transmitted.

Where does the randomness come from?

From crypto.getRandomValues(), the browser's cryptographically secure random number generator, which draws from the operating system's entropy pool. It is not Math.random(), which is fast, predictable and completely unsuitable — if a browser somehow does not offer the secure API, this tool refuses to generate anything rather than quietly falling back. Random values are also reduced to a character index by rejection sampling rather than a modulo, which would otherwise make some characters slightly more likely than others.

How does the breach check work without a network?

The page carries an offline copy of the 10,000 most common passwords from public breach corpora, and checks against it locally. Other tools query the Have I Been Pwned API, which is a fine service, but it means a fragment of your password's hash leaves your machine. This trades a much larger list for the guarantee that nothing goes anywhere. The check also strips lookalike substitutions and trailing digits first, so P@ssw0rd1 is caught as password.

— Entropy and strength, honestly
What is entropy, in bits?

It is the size of the haystack, expressed as a power of two. A password with 50 bits of entropy is one of 250 — about a thousand trillion — equally likely possibilities. Every extra bit doubles the work. It is the only honest measure of a generated password, because it describes the process that made it rather than the string that came out.

How many bits do I need?

Rough thresholds: under 50 bits, treat it as already broken. 60–70 bits is fine behind a proper slow hash but uncomfortable otherwise. 75–80 bits puts you beyond the reach of a well-funded offline attack against a fast hash, and that is the number worth aiming for on anything that matters. Past 100 bits the extra strength is free but no longer buying you anything against realistic attackers.

Why does requiring one of each character type lower the entropy?

Because a rule removes possibilities. “At least one digit” forbids every password that happens to contain none, so the set of allowed passwords is smaller — and a smaller set is easier to search. The effect is tiny at sensible lengths (at 20 characters it costs about a seventh of a bit) and large at short ones (at 5 characters it costs two and a half bits). Most tools quote length × log2(pool) regardless; this one counts the constrained space exactly by inclusion–exclusion, so the number you see is the number you have.

Why does the checker score my clever password so low?

Because it is estimating guesses, not counting characters. P@ssw0rd! looks like nine characters from a 94-character alphabet, which the usual arithmetic calls 59 bits. An actual attacker takes the word password, applies the substitution rules every cracking tool has built in, tries a few suffixes, and finds it in a few hundred thousand guesses — a fraction of a second. The naive figure is not conservative, it is wrong by twelve orders of magnitude.

If the checker says my password is strong, is it safe?

It means none of the cheap paths matched — it is not on the breach list, it is not a dictionary word wearing a disguise, and it has no keyboard run, repeat or obvious sequence. That is genuinely useful, but it is a floor, not a ceiling. The check does not know your dog's name, your street, or the phrase you reuse everywhere. Any checker that tells you a password you chose is definitely strong is overselling. The way to be certain is to not choose it at all: generate it.

Why do other generators say my password takes trillions of years to crack?

Because they assume one attack, usually a slow one, and quote the number that flatters. The arithmetic is not wrong so much as unanswerable: the same password is trillions of years against bcrypt and minutes against unsalted MD5, and the tool has no way of knowing which applies. A single number hides exactly the variable that decides the outcome, which is why this one shows four and names its assumptions.

— What the current NIST guidance says
What does NIST SP 800-63B say about password length?

The current revision requires a minimum of 15 characters for a password used as a single factor, allows a minimum of 8 only when it is part of multi-factor authentication, and says verifiers should permit at least 64 characters. The familiar 8-character minimum is not current guidance and has not been for some time.

Doesn't NIST require a mix of upper case, digits and symbols?

The opposite. The guidance states that verifiers shall not impose composition rules — requiring a mixture of character types is explicitly out. The reasoning is that these rules push people toward predictable shapes (Password1!) while adding almost nothing to the search space. The toggles are still on this page because plenty of sites have not caught up, but ticking them is satisfying a form, not an attacker.

Should I change my passwords every few months?

No, and the guidance is explicit: verifiers shall not require periodic changes. Forced rotation makes people pick weaker passwords and iterate them (Spring2025!, then Summer2025!). Change a password when there is evidence it was compromised — a breach notification, a suspicious login — and otherwise leave a strong unique password alone.

What else changed that people still get wrong?

Three things. Verifiers must check new passwords against a blocklist of known-breached and common passwords, which matters far more than complexity rules. They must accept all printing ASCII, spaces included, and should accept Unicode — so a site rejecting your symbol is out of step. And security questions are not permitted: your mother's maiden name is not a secret, it is public record with an air of mystery.

A site rejects my generated password. What now?

It is almost always a length cap or a banned symbol, and neither is your fault. Drop the length to whatever it accepts, or turn off symbols and add a few characters to compensate — four extra lowercase letters buy back more than the symbols did. The shell & CSV safe toggle also clears the punctuation that tends to break older systems. If a site caps you at 12 characters and bans symbols, that tells you something about how it stores your password: use a unique one there and turn on multi-factor if it is offered.

— Living with passwords
What should I actually do with the password once I have it?

Put it in a password manager and never see it again. That is the whole point: a manager lets every account have a long unique password because you are not the one remembering them. You need to memorise exactly two things — the manager's master password and your device login — and both should be passphrases from this page.

Is reusing one very strong password across sites acceptable?

No, and strength is not the issue. When a site is breached, your password is exposed regardless of how strong it was — and the first thing attackers do is try that pair everywhere else. That is credential stuffing, and it is the single most common way accounts fall. A unique weak-ish password per site survives it; one magnificent shared password does not.

Does a strong password make two-factor authentication unnecessary?

No. They defend against different things. A strong password defeats guessing; it does nothing about phishing, a keylogger, or a breach at the site's end. Two-factor authentication covers exactly those. If you can only do one thing today, turn on multi-factor authentication on your email account — whoever controls your email can reset everything else.

Is writing a password on paper really so bad?

It is far better than reusing one. Your threat model is almost certainly someone on the other side of the internet, not a burglar reading the note in your desk drawer. Written down and unique beats memorable and reused every time — though a password manager beats both. If you do write one down, the no lookalike characters toggle exists precisely so you do not lose ten minutes to a 1 that was an l.

Is this tool free?

Completely free. No account, no limit, no ads, no upsell to a paid tier. It is one of the free browser tools at jasperbernaers.com.