WMW

Password Generator

Free

Generate strong, random passwords right in your browser using a cryptographically secure generator, with a live strength meter, entropy calculation, and support for batches of several passwords at once.

Runs entirely in your browser using a cryptographically secure random generator. Nothing is uploaded anywhere.

Character types

Extra options

Strength

Generated passwords

Recent Activity

Visible to everyone. Last 20 uses across all visitors, newest first.

Generated 5 password(s), 64 characters, ~409 bits of entropy

3 hours ago

Generated 5 password(s), 64 characters, ~409 bits of entropy

3 hours ago

Generated 1 password(s), 64 characters, ~409 bits of entropy

3 hours ago

Generated 1 password(s), 24 characters, ~153 bits of entropy

3 hours ago

Generated 1 password(s), 24 characters, ~156 bits of entropy

3 hours ago

Generated 1 password(s), 24 characters, ~113 bits of entropy

3 hours ago

Generated 1 password(s), 24 characters, ~137 bits of entropy

3 hours ago

Generated 1 password(s), 24 characters, ~115 bits of entropy

3 hours ago

Generated 1 password(s), 24 characters, ~144 bits of entropy

3 hours ago

Generated 1 password(s), 24 characters, ~126 bits of entropy

3 hours ago

Generated 1 password(s), 24 characters, ~156 bits of entropy

3 hours ago

Generated 1 password(s), 16 characters, ~104 bits of entropy

3 hours ago

Comments (0)

Found this tool useful? Leave a comment, share a tip, or tell us how we can make it better.

Guest comments are reviewed before publishing. Sign in to post instantly.

No comments yet. Be the first to share your thoughts!

What this tool does

This tool generates strong, random passwords directly in your browser. Choose a length, which character types to include, and whether to avoid visually ambiguous characters, then generate one password or a whole batch at once, each shown with a live strength meter and an exact entropy calculation.

How It Works

For each character position, the tool draws random bytes from crypto.getRandomValues() and uses rejection sampling (discarding any byte value that would introduce bias) to pick a uniformly random index into your selected character set, so every allowed character is equally likely at every position. When "require at least one of each type" is on, one character from each selected type is placed first and the full result is then randomly shuffled before being shown. Entropy in bits is calculated as log2(character set size) times password length, and a strength label is derived from that bit count: under 28 bits is Very weak, 28-35 is Weak, 36-59 is Fair, 60-89 is Strong, and 90 or more is Very strong.

Problems it solves

Frequently asked questions

›Is this actually random, or just Math.random()?

Every character is chosen using the browser's crypto.getRandomValues(), the same cryptographically secure random source used for things like encryption keys, not the much weaker Math.random(), which is predictable enough in some engines to be reconstructed from past output. Character selection also uses rejection sampling instead of a plain modulo, so every allowed character has exactly equal probability with no bias toward the start of the character set.

›What does the entropy number actually mean?

Entropy in bits is log2(character set size) multiplied by the password length, it measures how many guesses an attacker who knows your settings (but not the password itself) would need on average to find it by brute force. Each extra bit doubles that number of guesses, so going from 40 to 60 bits is not a 50% improvement, it is roughly a million times harder.

›Why would I exclude ambiguous characters like 0, O, 1, l, and I?

Those characters look nearly identical in many fonts, which matters if you ever need to read the password aloud, type it from a printed copy, or key it into a device without a reliable font. Excluding them shrinks the character set slightly (and so slightly lowers entropy for the same length), a small, usually worthwhile tradeoff for passwords you will not always copy-paste.

›What does "require at least one of each selected type" change?

Some login forms reject passwords that are not a mix of character types even when the overall length and randomness are strong. With this on, the generator guarantees at least one character from every type you selected before filling the rest randomly, then shuffles the whole result so the guaranteed characters are not predictably placed at the start.

›Is it safe to generate several passwords for different accounts in one batch?

Yes, each password in a batch is generated independently with its own fresh random bytes, so knowing one password in the batch gives no information about the others. Using a different, independently generated password per account (rather than variations of one password) is exactly what protects you if one site you use is ever breached.

›Does this tool ever see or store my generated passwords?

No, generation happens entirely in your browser with JavaScript, nothing is sent to a server, and the page keeps no history of past values beyond a locally stored character-count summary (never the password itself) for the history panel on this page.

Related Tools

Free

Text

Mojibake (Garbled Text) Fixer

Recovers the original bytes behind garbled (mojibake) text and re-decodes them under several common encodings, showing every candidate that comes out clean.

Free

Text

MySQL Syntax Validator

Validates MySQL syntax for one or more semicolon-separated statements, reporting the exact line and column of the first error found.

Free

Text

Online HTML Editor

Edit HTML, CSS, and JavaScript in three panels with a live sandboxed preview that updates as you type, plus a one-click download as a standalone HTML file.

Free

Text

Punycode Converter

Convert text between Unicode and Punycode (RFC 3492), the ASCII-only encoding used for internationalized domain names, with a full domain mode (dot-aware, xn-- prefix handled automatically) and a plain label mode, batch-converting multiple lines at once.

Free

Text

Line Counter

An advanced line counter that instantly analyzes your pasted text: duplicate/empty line detection, comment line filtering, regex-powered find & replace, sorting, and prefix/suffix insertion.

Free

Text

List Randomizer

Shuffle any list, pick random winners for giveaways, and split entries into even groups, all in your browser with an unbiased Fisher-Yates shuffle.

Free

Text

Acronym Generator

Turn a phrase into its acronym instantly, with a letter-by-letter breakdown and an optional minor-word-skipping mode.

Free

Text

Add Line Breaks

Add line breaks after each delimiter, every N characters (word-wrapped or exact), or every N words, with a live line count.