Custom

Every dial, exposed.

Set exact character rules, or lay the password out piece by piece with a simple pattern such as W-W-NN-S.

Generated in your browser with the Web Crypto API. Nothing is sent or stored.

Generated in your browser Web Crypto randomness Honest entropy figures No accounts, no storage

Custom settings

Quick presets

Generate several at once

Choose 5, 10 or 20 to compare candidates side by side. Nothing is stored — the list disappears when you close the tab.

The pattern language

Patterns are deliberately tiny and safe: W is a word, U an uppercase letter, l a lowercase letter, N a number, S a symbol and X any selected character. Everything else is copied through as literal text. There is no scripting, no variables and nothing that could be executed.

Fixed text costs you

A prefix or suffix adds length but no randomness, so KeyMint leaves those characters out of the entropy figure entirely. If a site needs a fixed marker, add extra random characters to make up for it.

Generated entirely in your browser

KeyMint never receives your passwords. There is no account, no database, no server-side generation and no password history. Close the tab and everything you generated is gone.

Nothing is transmitted

Passwords are never sent anywhere — not to KeyMint, not to an analytics service, not to a breach-checking API, and never placed in a URL.

Nothing is stored

No local storage, no cookies, no IndexedDB. Pinned passwords live in the page's memory and vanish when you close it.

Real randomness

Every choice comes from crypto.getRandomValues() with rejection sampling, so no character or word is more likely than another.

Read the full privacy note

Other ways to make a password

Each mode is the same generator with a different shape. Nothing you make in one is carried into another.