A privacy-first password generator used by ClearHowGuide.
Try the generator here:
π https://clearhowguide.com/en/security/create-a-strong-password/#private-password-generator
Private Password Generator is a small, privacy-first password generator.
It helps users create strong passwords directly in the browser, without sending, saving, or tracking the generated password.
The tool can generate:
- π² random passwords;
- π§ memorable passphrases;
- π οΈ strengthened user ideas;
- π’ passwords from 8 to 128 characters;
- β‘ Easy, Strong, and Maximum presets;
- π‘ uppercase and lowercase letters;
- π’ numbers;
- π£ symbols;
- π website-friendly symbols;
- ποΈ ambiguous-character-safe passwords;
- β³ educational offline crack-time estimates;
- β practical safety reminders.
This project is designed around one simple promise:
Your generated password should not leave your browser.
The generator is designed to avoid:
- β sending generated passwords to ClearHowGuide;
- β saving generated passwords in
localStorage; - β saving generated passwords in
sessionStorage; - β using
IndexedDB; - β using cookies;
- β calling
fetch()from the generator component; - β using
navigator.sendBeacon; - β sending analytics events with generated passwords;
- β logging generated passwords to the console;
- β using
Math.random()for password generation.
The generated password exists only in the current browser page.
When the user refreshes or closes the page, the generated password is gone unless the user saved it somewhere else.
Many people still create passwords from names, dates, places, favorite words, or small changes to old passwords.
That is risky.
A password like this can still be weak:
Summer2026!It looks more complex than a plain word, but it is still predictable.
This generator is designed to encourage better habits:
- β create long passwords;
- β use a different password for every important account;
- β prefer random passwords for normal website logins;
- β use passphrases only when memorability matters;
- β save generated passwords in a trusted password manager;
- β enable MFA or 2FA when available.
| Mode | What it does |
|---|---|
| Random password | Generates a random password with the browser cryptographic API |
| Memorable passphrase | Generates a longer phrase made from random words |
| Strengthen my idea | Turns user-provided words or numbers into a stronger password-like result |
For most accounts, Random password is the best default choice.
For master passwords or passwords you must type manually, Memorable passphrase can be easier to use.
For maximum safety, avoid putting names, birthdays, addresses, company names, or personal details into Strengthen my idea.
This project uses:
- β‘ Astro component source;
- π§© vanilla browser JavaScript;
- π
crypto.getRandomValues()for secure random generation; - π
zxcvbn-tsfor educational strength estimation.
Main source file:
src/PasswordGenerator.astroRun:
npm installRun:
npm run checkThis runs:
npm run source:checknpm run privacy:check
The privacy check verifies that the generator component does not contain direct usage of:
- storage APIs;
- cookies;
- network calls;
- beacon calls;
- analytics calls;
- debug logging patterns;
- weak random generation with
Math.random.
The repository includes a simple privacy check script:
scripts/privacy-check.mjsIt checks the component source for these forbidden patterns:
localStorage
sessionStorage
indexedDB
document.cookie
fetch(
navigator.sendBeacon
umami.track
console.log
Math.randomIt also checks that the source uses:
crypto.getRandomValuesThis does not replace a full security audit, but it helps prevent accidental regressions.
This generator provides an educational tool, not a security guarantee.
Real account security depends on many factors:
- whether the password is unique;
- how the website stores passwords;
- hashing algorithm;
- salting and key stretching;
- rate limits;
- account lockout protections;
- MFA or 2FA;
- phishing resistance;
- breach exposure;
- attacker hardware;
- whether the password is reused elsewhere.
Do not treat any generated password as unhackable.
private-password-generator/
ββ .github/
β ββ ISSUE_TEMPLATE/
β β ββ bug_report.md
β β ββ config.yml
β β ββ feature_request.md
β ββ PULL_REQUEST_TEMPLATE.md
ββ scripts/
β ββ privacy-check.mjs
ββ src/
β ββ PasswordGenerator.astro
ββ CHANGELOG.md
ββ CODE_OF_CONDUCT.md
ββ CONTRIBUTING.md
ββ LICENSE
ββ PRIVACY.md
ββ README.md
ββ SECURITY.md
ββ SUPPORT.md
ββ package-lock.json
ββ package.jsonContributions are welcome if they improve:
- π privacy;
- π‘οΈ security;
- βΏ accessibility;
- π§ generation quality;
- π§Ύ documentation clarity;
- π§Ή maintainability.
Please read:
π CONTRIBUTING.md
before opening a pull request.
Please do not report vulnerabilities in public issues.
Read:
π SECURITY.md
for responsible disclosure instructions.
This project follows a contributor code of conduct.
Read:
π CODE_OF_CONDUCT.md
before participating.
Need help or want to ask a non-sensitive question?
Read:
π SUPPORT.md
MIT License.
See:
π LICENSE
This generator is used by ClearHowGuide in the guide:
How to Create a Strong Password
Demo:
π https://clearhowguide.com/en/security/create-a-strong-password/#private-password-generator