Repository navigation
What's included
Two generation modes
Password mode — configure length (4–50 chars), choose character sets (uppercase, lowercase, numbers, symbols), and optionally exclude visually similar characters (O/0, l/1, I) to avoid copy/read confusion
Passphrase mode — generate 2–10 word passphrases from a curated word list with your choice of separator (random, -, ., _, or space)
Security
All randomness comes from crypto.getRandomValues — the Web Crypto API — so generation is cryptographically secure
Every selected character type is guaranteed to appear at least once in the output
Passwords never leave the browser
Strength feedback
Live strength meter (Weak / Medium / Strong) scored on length thresholds and character diversity
Entropy estimate in bits shown alongside the strength label
UI / UX
Light and dark theme with automatic OS preference detection and localStorage persistence
Copy to clipboard with a cooldown button and toast confirmation
Keyboard shortcuts: Enter to generate, Ctrl/Cmd+C to copy
Generates a password automatically on page load
Fully responsive down to mobile screen sizes
How to run
Since the app uses ES modules, it needs to be served over HTTP — not opened directly as a file:
python3 -m http.server 8000
Then open http://localhost:8000 in your browser.