Skip to content

Password Generator

Runs in your browser

A random password or secret, built on your browser's own CSPRNG. Nothing here is sent anywhere, and nothing is ever Math.random.

Result

152 bits · Very strong

Characters

How this one works

Every character comes from crypto.getRandomValues, the browser’s cryptographically secure random number generator — never Math.random, which is fast and predictable rather than secure. The bytes it returns are mapped onto your chosen character set with rejection sampling: any byte that would land unevenly across the set is discarded rather than reduced with %, so every character stays exactly as likely as every other one.

The bit count above is the real entropy of what you’ve configured — length times log₂(character set size) — not a strength meter guessing at it.

Questions

Is this actually secure, or just obfuscated?

It uses the same CSPRNG your browser gives WebCrypto and the operating system itself: crypto.getRandomValues. Nothing here is a homemade shuffle or a seeded PRNG dressed up to look random.

Does this reach a server?

No. Generation happens as JavaScript in this tab, and the result is never sent anywhere, copied only to your own clipboard when you ask.

Why exclude characters that look alike?

Reading a password back off a screen or a printout, 0 and O, or 1, l and I, are easy to mis-type. Turning this off gets you a very small amount of extra entropy back; on, it costs about 0.1 bits per character.

How long should this be?

For an account password, 16+ characters from all four sets clears 90+ bits, which is Strong here. For an API key or session secret you generate and store yourself, 32 is a comfortable default — the field defaults to that.

Keyboard shortcuts

Global

  • Show this shortcuts dialogShift?
  • Toggle light / dark themeCtrlShiftL
  • Close dialogsEsc

Formatter & Validator

  • Format JSONCtrlEnter
  • Minify JSONCtrlShiftM
  • Copy outputCtrlShiftC
  • Download output as .jsonCtrlShiftS
  • Clear input and outputCtrlShiftX

Tree Viewer

  • Focus the search box/
  • Expand all nodesCtrlShiftE
  • Collapse all nodesCtrlShiftR

Diff

  • Swap document A and BCtrlShiftS

Time & date tools

  • Use the current time (Epoch Converter)CtrlEnter
  • Copy the main resultCtrlShiftC
  • Clear the inputCtrlShiftX

Keys & IDs

  • Generate a new token or UUID batchCtrlEnter
  • Copy the resultCtrlShiftC

JSON tools

JSON FormatterPretty-print or minify
JSON ValidatorCheck strict JSON validity
JSON Tree ViewerBrowse JSON as a tree
JSON DiffCompare two documents
JSON Path FinderExplore JSONPath expressions
JSON → CSVFlatten JSON into rows
CSV → JSONTurn rows back into objects

JWT tools

JWT DecoderRead header, payload, claims
JWT VerifierCheck an HMAC signature
JWT Expiry Checkeriat, nbf and exp in local time
JWT GeneratorBuild a signed test token
Base64URL EncoderEncode or decode a segment

Time & date tools

Epoch ConverterTimestamps to real dates
Cron Expression ExplainerCron in plain English
Time Zone ConverterOne moment, many cities
Duration CalculatorDate maths and durations

Keys & IDs

Password GeneratorSecure random secrets
UUID Generatorv1, v4, v5 or v7 UUIDs

Code formatters

SQL FormatterBeautify or minify SQL
HTML FormatterBeautify or minify HTML
CSS FormatterBeautify or minify CSS
JavaScript FormatterBeautify or minify JS
Markdown to HTMLConvert with a live preview

Pages

JSON toolsFormat, validate, compare and convert JSON.
JWT toolsDecode, verify and generate JSON Web Tokens.
Time & date toolsConvert timestamps, read cron, compare zones.
Keys & IDsGenerate secure tokens, passwords and UUIDs.
Code formattersBeautify and minify SQL, HTML, CSS and JavaScript.
HomePopular tools and categories
All categoriesBrowse tools by category
AboutWhat ToolJar is and why
PrivacyWhat is and is not collected

Theme

Switch to light theme
Switch to dark theme