FIRST CH TOOLS / 37 PASSWORD GENERATOR
Secure Password Generator
Pick a length and the character types, and mint hard-to-guess passwords up to 50 at a time. Drop look-alike characters such as 0 and O, 1 and l, or trim the symbol set down to what your target system accepts. The randomness comes from this browser's cryptographic RNG; the passwords are never sent anywhere and never appear in the URL.
| Item | Value | What it means |
|---|
How to Use
- Choose a lengthIf you are unsure, start at 16 characters. Length buys more strength than extra character types do. For anything kept in a password manager, go 20 or longer; 12 to 16 is the practical range for something you have to type by hand.
- Pick the charactersIf the service rejects symbols, untick them; if it rejects only a few, delete those from "Symbols to use". Keep Drop look-alike characters on whenever the password will be written down, read out loud, or typed on another device.
- Generate and copyPress Generate and the list appears at once. Use the per-row Copy for a single password or Copy all for the whole batch. Check the strength in the bits above and in the "time to crack" rows below.
About This Tool
Every character comes from crypto.getRandomValues(), the browser's cryptographic RNG. Math.random() is never used: it is built for speed, and after observing a handful of outputs an attacker can recover its internal state and predict the rest. For a password, being unpredictable is the entire point, so that difference matters. Modulo bias is removed too. Taking a 32-bit random number modulo the pool size makes the first few characters of the pool slightly more likely, because 232 rarely divides evenly by the pool size; this tool throws away the values above the last whole multiple and draws again.
Strength depends on length far more than on variety. With N characters available and a length of L, there are NL combinations, which is L × log2(N) bits. Adding symbols lifts N from 62 to 94, but that is only 5.95 → 6.55 bits per character; adding one more character to the length adds a whole character's worth. Eight characters is about 52 bits even with symbols — hours to days once a leaked hash is attacked on GPUs. Twelve characters is about 79 bits and sixteen about 105, at which point brute force stops being a plan.
"At least one of each type" slightly lowers the strength. The rule throws away every candidate that happens to contain no uppercase letter, so there are fewer candidates left. This tool subtracts that loss using inclusion–exclusion and reports the reduced figure — most generators keep showing L × log2(N), which reads a little higher than the truth. The loss is small, from a fraction of a bit to a few bits, and the rule is simply the price of passing services that demand one of each. The guaranteed characters are then mixed in with a Fisher-Yates shuffle so they do not pile up at the front.
Only drop look-alike characters when the password will be transcribed. Dropping them shrinks the pool and costs a little strength at the same length (94 → 87 characters is 0.11 bits per character). If the password goes straight into a password manager by copy and paste, leave them in. But when an initial password is handed over on paper, read over the phone, or retyped on another machine, mixing up 0 with O, or 1 with l and I, costs more in support tickets than those fractions of a bit are worth.
The passwords never leave this device. They are not uploaded, and they are deliberately kept out of the URL as well — URLs survive in browser history, bookmarks and shared links, which makes them a poor place for a secret. Only settings can be passed in: /en/password/?length=24&count=3&symbols=0 (length=4–128, count=1–50, upper/lower/digits/symbols=0|1, similar=1 to drop look-alikes, each=1 to require one of each type, symbolset= the symbols to use, exclude= characters to leave out). There is intentionally no download button, because a plain-text file of passwords sitting in your Downloads folder is not something to encourage. Paste straight into a password manager, and use a short-lived secure channel if you have to share one.
Not reusing passwords matters more than making them stronger. However strong a password is, using it on several services means one breach unlocks the rest — that is credential stuffing. Use a different password per service, keep them in a manager, and add passkeys or two-factor authentication wherever they are offered. As for rotation, NIST SP 800-63B says not to force periodic changes without evidence of compromise, because mandated changes mostly produce predictable edits such as Pass1! → Pass2!.
Other Tools
- 01WebP Converter画像→WebP一括変換
- 02White BG Remover白背景の透過
- 03Contrast Checkerコントラスト比チェッカー
- 04Character Counter文字数カウント
- 05llms.txt Generatorllms.txt ジェネレーター
- 06JSON-LD GeneratorJSON-LD構造化データ生成
- 07Markdown → PDFMarkdown→PDF変換
- 08OGP Meta Tag WizardOGPメタタグ生成ウィザード
- 09Favicon Generatorfaviconジェネレーター
- 10TikTok PublisherTikTok投稿ツール
- 11Encoding Converter文字コード・改行コード変換
- 12AVIF Converter画像→AVIF変換+picture生成
- 13Test Data Generatorテストデータ生成
- 14Marp Markdown → SlidesMarp Markdown→スライド
- 15Text & Code Diff Checkerテキスト・コード差分チェッカー
- 16Cron ExplainerCron式ビジュアル解説&発火日時
- 17Base64 & Data URIBase64 & Data URI変換
- 18URL Parameters & UTMURLパラメータ分解・UTMタグ編集
- 19HTML Escape & UnescapeHTMLエンティティ・特殊文字エスケープ
- 20JSON ⇄ YAML ConverterJSON ⇄ YAML 相互変換&整形
- 21PX ⇄ REM / EM ConverterPX ⇄ REM / EM 単位変換
- 22Color Converter & AlphaColorコード変換&アルファ透過
- 23Hash GeneratorMD5 / SHA-256 ハッシュ生成
- 24JWT Decoder & ExpiryJWTデコーダー&有効期限チェック
- 25User-Agent ParserUser-Agent 解析&デバイス判定
- 26UUID & ULID GeneratorUUID & ULID 一括生成
- 27Aspect Ratio Calculatorアスペクト比計算&サイズ算出
- 28Markdown Table & CSV/TSV ConverterMarkdownテーブル整形&CSV/TSV変換
- 29SQL Query FormatterSQLクエリフォーマッター&整形
- 30QR Code GeneratorQR Code Generator
- 31Regex Tester正規表現テスター
- 32Unix Timestamp ConverterUNIXタイムスタンプ⇄日時変換
- 33New Tab Memo — Chrome Extension新規タブメモ帳 Chrome拡張
- 34Image Resizer & Cropper画像リサイズ&クロップ
- 35EXIF Viewer & RemoverEXIF情報の確認&除去
- 36robots.txt Generatorrobots.txt ジェネレーター
- 38Case Converter文字列ケース変換