How is the randomness generated?
The generator uses crypto.getRandomValues(new Uint32Array(length)) — the Web Crypto API exposed by every modern browser. This pulls from the operating system’s cryptographically secure pseudo-random number generator (CSPRNG), the same source used by TLS, WebAuthn, and signed cookies. It is unpredictable and suitable for password material — Math.random() is not.
What length should I use?
For online accounts behind rate-limited login forms, 16 characters with mixed classes (~96 bits of entropy) is comfortably strong. For long-lived secrets, API keys, root credentials, or anything an attacker could brute-force offline (encrypted backups, password vault master), use 24–32 characters or longer.
Are passwords sent to a server?
No. Generation runs entirely in JavaScript inside your browser tab. Open DevTools → Network and click Generate — you will see zero requests. Nothing about the password (including length or character classes) is logged or transmitted.
How is entropy calculated?
Entropy in bits = length × log2(pool size). A 16-character password drawn from a 94-character pool (upper + lower + digits + symbols) has 16 × log2(94) ≈ 105 bits — far beyond what GPU clusters can brute-force. The strength badge in the toolbar reflects this number live as you change settings.
Should I use a passphrase instead?
Passphrases (six random Diceware words, ~77 bits) are easier to type and memorise than equivalent random strings, so they are excellent for things you must type by hand (laptop login, password manager master). For anything stored in a vault or pasted from one, a 20+ character random password is shorter and equally secure.
Can I generate batches?
Yes — set the count up to 10 and one password is produced per line. This is handy when seeding test fixtures, rotating service-account credentials, or pre-generating recovery codes.
What characters are excluded with the "ambiguous" toggle?
Toggling Exclude ambiguous removes 0, O, o, 1, l, I, and | from the pool. These look identical in many fonts and cause friction when a password is read aloud or copied from a printed slip. Excluding them costs only a tiny amount of entropy and is recommended whenever the password will be spoken or transcribed.
How does this compare to LastPass or 1Password generators?
The generation algorithm is identical — all use the same OS CSPRNG. The difference is workflow: a password manager stores the result, this tool does not. Use OpenFormatter when you need a one-off password (a temporary share link, a test fixture, an SSH key passphrase) without opening your vault, then store any keeper in your manager.