Security

Random Password Generator

Generate secure random passwords with crypto.getRandomValues. Adjust length and character types — free, no sign-up required

Strength: Very strong

16
100% free No sign-up Runs in your browser No data stored

A secure password needs to be long enough and mix enough different character types to resist guessing and brute-force attacks. But passwords people choose by hand tend to be predictable, reused, or too short. This random password generator instantly generates a secure password for you — adjust the length and choose which character types to include (lowercase, uppercase, numbers, symbols), with an option to exclude easily-confused characters like the digit 1 and the lowercase letter l. It uses crypto.getRandomValues, the browser's cryptographically secure random source, which is stronger than a plain Math.random, and the generated password is never sent anywhere outside your device.

How to use the password generator

1

Adjust length and character types

Choose the length and which letters/numbers/symbols to include

2

Generate a new password

Click generate to create an unlimited number of new passwords

3

Copy and use it

Click copy, then set it as your new password right away

Why use this tool

Cryptographically secure

Uses crypto.getRandomValues, not an ordinary Math.random

Built-in strength meter

See instantly how secure the generated password is

Can exclude ambiguous characters

Skip similar-looking characters like I, l, 1, O, 0

Example use cases

Setting a password for an email or bank account

Generate a 16+ character password mixing every character type for important accounts that need strong security.

Creating an easier-to-type Wi-Fi password

Exclude symbols and easily-confused characters, leaving letters and numbers that are easy to type from a printout.

Generating an API key or secret for development

Generate a long random string to use as a token or secret key in a project.

Setting a temporary password for a new user

Generate a secure starting password to hand to a user before they set their own.


Frequently Asked Questions (FAQ)

Is the generated password sent to a server?
No data ever leaves your device. Password generation runs entirely in your browser, using crypto.getRandomValues — a cryptographically secure random function, not an ordinary one.
How long should a password be to stay secure?
At least 12 characters for general accounts, and 16+ for important ones like your primary email or a bank account. The longer the password and the more character types it mixes (lowercase, uppercase, numbers, symbols), the harder it is to guess.
What does "exclude ambiguous characters" do?
It removes characters that look alike and are easy to misread, such as the digit 1, lowercase l, and uppercase I, or the digit 0 and uppercase O. Useful when you need to type the password by hand, such as writing it on paper or entering it on another device.
Could the generated password collide with someone else's?
The odds are effectively zero. crypto.getRandomValues draws from an enormous space of possibilities (a 16-character password mixing every type has over 10^30 possible combinations), so an accidental collision is practically impossible.
What is the strength meter based on?
It estimates strength from length and the variety of character types used — longer passwords mixing more types (lowercase, uppercase, numbers, symbols) score higher. It's only a rough guide — always aim for at least 12–16 characters for real security.

Related tools