CSPRNG · in your browser

Online Password Generator Generate it. Copy it. Forget it.

A password generator that posts to a server is the wrong shape of tool. Morph runs crypto.getRandomValues() — the browser's cryptographic PRNG, the same primitive TLS implementations use — directly inside your tab. The character set is yours, the length is yours, the result lives in your clipboard for as long as you keep it there. Nothing is logged. Nothing is transmitted. The tab forgets it the moment you close it.

01
CSPRNG

The browser's cryptographic random source — not Math.random.

crypto.getRandomValues() seeds from OS entropy. Same primitive your TLS stack uses every time you load HTTPS. The output is indistinguishable from true random for any practical adversary.

Open the tool
Runs on your device · free · no account

What it actually does

02
CONTROLS

Length, charset, exclusions

8 to 128 characters. A-Z, a-z, digits, symbols. Exclude lookalikes when you might have to read it aloud.

03
PASSPHRASE

Diceware mode

4-7 EFF-list words, hyphen-joined. Easier to type, equally strong.

04
FORGET

Clipboard then gone

One-click copy. Nothing logged anywhere. Reload the tab and the password is unrecoverable.

How it works

  1. Open morph.cool/password-generator. The first password is already generated.
  2. Slide the length, toggle the character classes, exclude lookalikes if you need to.
  3. Hit Regenerate as many times as you want — every press calls a fresh CSPRNG draw.
  4. Click Copy. The password lands in your clipboard; a 12-second auto-clear option is available.
  5. Paste it into your password manager and close the tab. Morph keeps no record.
196 bitMax entropy
0 logsStorage
128 charMax length

Why a server-side password generator is the wrong shape

If a generator transmits the password to its origin server — even "just for measuring strength" — the password has touched a third party before it touched a password manager. Logging is opt-in, not opt-out, on most of those tools. Morph runs the entire pipeline in WebAssembly and JavaScript inside your browser tab. The password is generated in your machine, lives in your clipboard, and is destroyed when you close the page.

Frequently asked

Is the generator actually random?

Yes. It uses crypto.getRandomValues() — the browser's CSPRNG, the same primitive used by TLS implementations. Not Math.random. Not seeded by current time.

Does the password ever leave my machine?

No. It is generated in JavaScript inside your tab. No fetch, no submit, no analytics on the output. Copy it once, then close the tab.

Can I exclude lookalikes like 0/O/l/1?

Yes — toggle exclude-lookalikes for environments where you might have to read the password aloud or out of a fax.

What length should I pick?

Sixteen for general use, thirty-two for anything that protects money or root credentials. Longer is always cheaper than complex.

Can I generate a passphrase instead?

Yes — the diceware-style passphrase mode picks 4-7 words from an 8,000-word EFF list joined by hyphens. Easier to type, equally strong.

Auto-clear the clipboard?

Optional 12-second auto-clear. Useful on shared machines where you might forget to copy something else after.

Generate a Password
Generate a Password
Nothing leaves your device · Free for what you make, credits for what we run