Random Password Generator

Generate strong random passwords and strings online. Choose length, character sets, avoid ambiguous chars, enforce every class, with an entropy strength meter. Runs in your browser.

Runs locally · data never uploaded
Advertisement

How to use

What it does

Create strong random passwords or strings. Customize the length (4–64), toggle lowercase / uppercase / digits / symbols, exclude ambiguous characters (0O1lI), and require that every password includes at least one of each selected character class. All randomness comes from the browser native crypto.getRandomValues with rejection sampling to remove modulo bias — never Math.random.

Example

Length 16, all four classes, exclude ambiguous, enforce every class, yields something like:

Tq7#mK9p@L2vXw8B

The strength meter shows roughly 95 bits of entropy, labeled "Very strong".

How strength is measured

Strength is the entropy: length × log₂(pool size). As a rule of thumb:

  • < 40 bits: weak
  • 40–59 bits: medium
  • 60–127 bits: strong
  • ≥ 128 bits: very strong

A 12+ character password with a pool of 62+ characters is usually plenty.

FAQ

Q1.Why not use Math.random?
Math.random is not cryptographically secure and can be predictable. This tool uses crypto.getRandomValues with rejection sampling so every character is chosen with strictly uniform probability.
Q2.What does "enforce every class" do?
When enabled, every generated password contains at least one lowercase, uppercase, digit or symbol (whichever you selected), so randomness never accidentally omits a class.
Q3.Why exclude ambiguous characters?
Removing 0, O, 1, l, I reduces mistakes when a password is read, typed or spoken aloud — useful for codes people must transcribe.
Q4.Is anything uploaded?
No. Passwords are generated only in your browser, work offline, and this tool never stores any output.
Advertisement

Related tools