UtilitiesTools

Password Generator

Generate a strong, truly random password in your browser with a length slider and character toggles. It uses the Web Crypto API for cryptographically secure randomness — no sign-up, and nothing is sent to any server.

Select options to generate

Strength: —

Require at least one of each selected class

Character requirements help with strict site rules. Length is the main strength factor, so use 16 or more characters when the site allows it.

Generated in your browser. Never uploaded, logged, stored, or kept in history.

What is the Password Generator?

This password generator creates strong, unpredictable passwords for you in seconds, right inside your browser. Instead of reusing the same memorable phrase across every account, you pick how long and how complex you want the password to be, and the tool builds a fresh random string from the character sets you choose. Because the work happens locally on your device, the password you get is never typed into a search box that is logged, never sent across the internet, and never saved on our side — it simply appears, ready for you to copy.

How to use it

  1. Drag the length slider to the number of characters you want (16 or more is a good default for important accounts).
  2. Select the character classes a destination site requires. Every generated candidate will contain at least one character from each selected class.
  3. Optionally turn on Exclude look-alike characters to drop confusing pairs like O/0 and I/l/1 if you will type the password by hand.
  4. Choose New password to apply changed settings, then read the strength indicator and tap Copy.
  5. Need several at once? Set the batch count, choose Generate batch, copy the one you want, and save it before leaving.

That is the whole flow — pick, generate, copy, and you are gone. No account, no email, no waiting.

The method behind it

Randomness is the entire point of a good password, so the quality of the random source matters more than anything else. This tool uses the browser's Web Crypto API — specifically crypto.getRandomValues() — which is a cryptographically secure pseudo-random number generator (CSPRNG) built into every modern browser. Unlike Math.random(), which many quick scripts use and whose output can be predicted from earlier values, a CSPRNG is designed so that seeing past output gives an attacker no useful way to guess the next character.

The generator builds a character pool from the sets you enabled, then draws a complete candidate uniformly from that pool. It rejects and redraws any candidate that misses one of the selected classes. This means an enabled uppercase, lowercase, number, or symbol option is a real guarantee rather than merely permission for that class to appear. Rejection sampling also avoids fixed character positions and keeps every password that satisfies the rules equally likely. Byte-level rejection removes the smaller modulo bias that a naive random-number mapping would introduce. Every password is generated on your own device and never sent across the network.

The entropy display uses the exact number of strings that satisfy all the selected requirements. It calculates that valid space with inclusion-exclusion instead of multiplying the pool size by the length and pretending every unconstrained string is allowed. Character rules make a password compatible with sites that still demand them; they do not replace length, which remains the primary strength factor.

Examples

Your output will be different every time, because each click draws fresh secure randomness.

Common use cases

Why use this one

The biggest difference is trust: the password never leaves your browser. There is no server round-trip, no logging, and no history — so even we cannot see what you generated. On top of that, it uses cryptographically secure randomness rather than the weak Math.random() behind many throwaway generators, gives you precise control with a length slider and guaranteed per-class requirements, offers a look-alike exclusion option for human-typed passwords, and lets you generate in batches without silently replacing an uncopied candidate when you adjust a setting. Changed settings are marked as pending until you explicitly generate again, and copy feedback reminds you that the page keeps no recoverable history. No sign-up, no character cap, no nagging.

It is part of a small, focused set of generators. If you need numbers instead of a password, the Random Number Generator draws random integers in any range. If you need stable identifiers, the UUID Generator creates RFC-compliant UUIDs. And when you just need to check a string against a length limit, the Character Counter counts characters with and without spaces.

Frequently asked questions

Are the passwords generated here safe and private?

Yes. Every password is created locally in your browser using the Web Crypto API. Nothing is sent over the network, logged, or saved to any server, so the password only ever exists on your own device until you copy and use it.

Do you store or remember the passwords I generate?

No. The tool keeps no history and has no database. When you refresh or close the page, the generated passwords are gone. We never see them in the first place — generation happens entirely on your computer or phone.

Are these passwords actually random?

Yes. The tool uses crypto.getRandomValues, then uniformly draws complete strings and rejects any that miss a selected character class. Every valid password that meets your requirements remains equally likely, and the entropy display is based on the exact constrained password space rather than an unconstrained estimate.

How long should my password be?

For most accounts, use a unique, randomly generated password of 16 or more characters when the site allows it. Length is the primary strength factor; select uppercase, lowercase, numbers, or symbols when a destination site specifically requires those classes.

What does 'exclude look-alike characters' do?

It removes characters that are easy to confuse when reading or typing — capital O versus zero, and the letter l, capital I and the number 1. Turn it on when you will type the password by hand or read it aloud, and leave it off for maximum character variety when a password manager will store it for you.