Generates one or several random passwords with configurable length, uppercase, lowercase, numbers, and symbols, excluding ambiguous characters and optionally avoiding consecutive repeats. Uses exclusively the browser's crypto.getRandomValues() with rejection sampling to eliminate modulo bias — never Math.random(). No generated password is ever sent or saved anywhere.
Recommended: 20 or more. Prioritize length over complexity.
Best practices
No password generated here is unbreakable or impossible to crack; high length and randomness make it very resistant, not absolutely secure.
Want to check an existing password? Use the password strength analyzer.
The data is processed on your device and is never sent to the server.