Skip to content
zeal.tools

Password Generator

Strong passwords, generated in your browser by your operating system's random source. Never transmitted, never stored.

Loading the generator…
WiFi QR code → Background remover →

How to generate a strong password

  1. 1

    Pick a length

    Longer beats clever. Length adds more strength per character than any of the other settings, and a password manager means you never type it anyway.

  2. 2

    Choose the character sets

    Leave all four on unless something you are signing up to refuses symbols. Every set you switch off shrinks the pool the password is drawn from.

  3. 3

    Check the strength line

    It shows the entropy in bits and roughly how long the password would survive a fast offline attack. Aim comfortably past 80 bits.

  4. 4

    Copy it into your password manager

    Straight into the manager, not into a note or a message. The password only exists in this tab until you copy it, and the tab forgets it the moment you leave.

Length is the setting that matters

Password advice spent two decades pushing complexity — a capital, a number, a symbol — and the result was a generation of passwords that satisfied the rules and defeated nobody. The capital went at the front, the number and the symbol went at the end, and attackers learned that pattern long before the rest of us did.

What actually resists guessing is size of the search space, and length is the cheapest way to buy it. Each extra character multiplies the space by the size of the pool; each extra character set only widens the pool once. Going from twelve characters to twenty is worth far more than adding symbols to a short one, and it costs you nothing when a password manager does the typing.

This is why the strength line here reports bits rather than a word like "strong". Bits are comparable and they compound: every extra bit doubles the work an attacker has to do. Around 60 bits is uncomfortable, 80 is a reasonable floor for anything that matters, and past 100 the password stops being the weakest thing about the account by a wide margin.

Where the randomness comes from

A password is only as unguessable as the source that produced it, so it is worth knowing what this uses. Characters are drawn with crypto.getRandomValues, the cryptographic generator your operating system provides — not Math.random, whose output can be predicted from earlier values and which has no business generating a secret.

Drawing a character fairly takes slightly more care than it looks. The obvious approach — take a random number and reduce it modulo the alphabet size — is subtly wrong, because the alphabet almost never divides evenly into the range, so the first few characters come up marginally more often than the rest. The skew is small, but it is free to avoid: values landing in the uneven tail are discarded and a fresh one is drawn. That, and the shuffle that mixes in the guaranteed characters, are unit-tested — they are precisely the kind of code that looks correct while being quietly biased.

The password is never sent anywhere from this page. It is built in the tab, shown to you, and forgotten when you navigate away. There is no request to inspect, nothing in a log, and no policy you have to take on faith.

Frequently asked questions

API — for scripts and agents

The same generator behind a free REST endpoint, for seeding a batch of accounts or fixtures. No API key, no sign-up. It returns the password with its entropy and crack time.

curl 'https://zeal.tools/api/v1/password?length=24&count=3'

Be aware of the trade: a password generated here travels over the wire, which one made in your browser never does. Nothing is stored either way. MCP clients can call the same core — add https://zeal.tools/mcp and use the generate_password tool.

The Zeal Promise

Non-negotiable, on every tool we ship.

  • No sign-up — ever
  • No watermarks on any output
  • No ads near the download button
  • Works fully on mobile
  • Privacy-first: processing stays in your browser
  • Open source (MIT) — audit it, contribute, self-host
  • Zero runtime dependencies in tool logic

zeal.tools

Free tools, made with zeal. No sign-ups, no watermarks, no nonsense — open source and yours to audit.

MIT licensed · every tool works in the browser, over the API, and through MCP.