Skip to content
Plaintools

Password generator

Create strong, unique passwords using your browser's native Web Crypto API. Adjust password length from 4 to 128 characters, toggle uppercase letters, lowercase letters, numbers, and symbols, avoid ambiguous characters, and generate passwords in bulk. Passwords are generated in memory and are never transmitted over the internet.

Generated using client-side Web Crypto API · Passwords are never sent over the network
sIA[NB-NLM735U+x
Strength: Very Strong105 bits of entropy

Password Settings

Bulk Password Generation

Generate a list of unique passwords at once

Password generator example

16-character high-entropy password

Configuring a length of 16 with uppercase, lowercase, numbers, and symbols produces a high-entropy string like 'kP9#vX2$mQ8!bL4*' with 105 bits of entropy (Very Strong rating).

Password generator how-to

  1. Assemble the character pool by concatenating the enabled character sets (uppercase, lowercase, numbers, symbols).
  2. Optionally filter out ambiguous characters like '1', 'l', 'I', '0', 'O' if requested.
  3. Ensure at least one character from each selected set is seeded into the output when length allows.
  4. Fill remaining positions by drawing random indices from the pool using crypto.getRandomValues with rejection sampling to eliminate modulo bias.
  5. Shuffle the assembled characters with a cryptographically secure Fisher-Yates shuffle algorithm.
  6. Calculate entropy bits as length * log2(poolSize) to rate password strength.

Related tools

Dev

JWT decoder

Read a JWT header and payload, with human timestamps and an expired flag. The token stays in the tab.

Dev

Hash generator

Calculate SHA-256, SHA-384, SHA-512, and SHA-1 checksums for text or local files.

Dev

Timestamp converter

Convert Unix epoch timestamps in seconds or milliseconds to ISO 8601, UTC, and local time.

Dev

UUID generator

Generate RFC 4122 compliant UUID v4 (random) and UUID v1 (timestamp-based) identifiers with bulk generation and formatting options.

People also use

Dev

Text diff checker

Compare two texts with a live line and word diff. Optional ignore-whitespace.

Dev

CSV to JSON converter

Convert CSV records to a JSON array of objects with header mapping and type detection.

Password generator FAQ

Are the passwords generated here cryptographically secure?
Yes. Plaintools uses window.crypto.getRandomValues (Web Crypto API) rather than Math.random(), providing cryptographically strong pseudorandom values suitable for security credentials.
Are generated passwords sent over the network or saved anywhere?
No. Password generation occurs exclusively in your browser tab's JavaScript runtime. Zero network requests are made, and nothing is logged or persisted.
What makes a password strong?
Password strength depends on length and character entropy. A password with 16 or more characters drawn from uppercase, lowercase, digits, and symbols yields over 100 bits of entropy, making brute-force attacks computationally infeasible.
Can I exclude ambiguous characters like 1, l, I, 0, and O?
Yes. Checking the 'Avoid ambiguous characters' option removes visually similar glyphs (such as lowercase l, uppercase I, the number 1, uppercase O, and zero 0) to avoid transcription mistakes.
Can I generate multiple passwords at once?
Yes. Use the Bulk Password Generation panel to produce 5, 10, 20, or custom batches of unique passwords with one-click copy.
How do I generate a secure password programmatically?
Define character pools (uppercase, lowercase, numbers, symbols). Assemble allowed pool. Allocate a Uint32Array, populate with crypto.getRandomValues(array), map each 32-bit int to a pool index using rejection sampling to eliminate modulo bias, guarantee one char per selected set, and shuffle with Fisher-Yates.