FIRST CH TOOLS / Other / 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 |
|---|
Protecting a staging site with Basic auth? Paste the password into the htpasswd Generator to get the .htpasswd line (bcrypt / apr1) and the .htaccess snippet right away — also computed in your browser and never sent anywhere.
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新規タブメモ帳
- 34Image Resizer & Cropper画像リサイズ&クロップ
- 35EXIF Viewer & RemoverEXIF情報の確認&除去
- 36robots.txt Generatorrobots.txt ジェネレーター
- 38Case Converter文字列ケース変換
- 39CSV/TSV ⇄ JSON ConverterCSV/TSV ⇄ JSON 相互変換
- 40PDF Merge, Split & ExtractPDF結合・分割・ページ抽出
- 41Full-width ⇄ Half-width Converter全角⇄半角変換&テキストクリーナー
- 42X (Twitter) Post CounterX(Twitter)投稿の文字ウェイト計算
- 43CSS clamp() Fluid Typography CalculatorCSS clamp() 計算機
- 44CSS Gradient GeneratorCSSグラデーションジェネレーター
- 45Image Colour Palette Extractor画像からカラーパレット抽出
- 46QR Code ReaderQRコード読み取り
- 47SVG Optimizer & Data URISVG最適化&data URI化
- 48Redirect Generatorリダイレクトルール ジェネレーター
- 49IP / CIDR CalculatorIPアドレス・CIDR計算機
- 50ICS Calendar Event GeneratorICS Generator
- 51cubic-bezier Easing Preview & ComparisonEasing Preview
- 52CSS box-shadow Generatorbox-shadow ジェネレーター
- 53Japanese Dummy Text Generator和文ダミーテキスト生成
- 54Social Media Image ResizerSNS画像サイズ一括書き出し
- 55Time Zone Converter & World Clockタイムゾーン変換・世界時計
- 56Date & Business Day Calculator日数・営業日計算
- 57HTML → MarkdownHTML→Markdown変換
- 58HEIC to JPEG/PNG ConverterHEIC Converter
- 59Print Size & DPI Calculator印刷サイズ・DPI計算機
- 60Color Blindness SimulatorColor Blindness Simulator
- 61SERP Preview & Meta Tag Length CheckerSERPプレビュー&メタタグ文字数チェック
- 62Flexbox & CSS Grid GeneratorFlexbox / CSS Grid ジェネレーター
- 63Text Line Toolsテキスト行操作ツール
- 64Screenshot Frame & Background Makerスクリーンショット枠装飾
- 65Japanese Era ⇄ Western Calendar Converter和暦 ⇄ 西暦変換
- 66URL Slug Generator (Japanese → Romaji)URLスラッグ生成(日本語→ローマ字)
- 67htpasswd Generatorhtpasswd ジェネレーター
- 68OGP Image GeneratorOGP画像ジェネレーター
- 69Stamp Shape Generatorスタンプ形ジェネレーター
- 70Stay Awakeスリープ防止
- 71Screen Recorder with Click Auto-Zoom画面録画+クリック自動ズーム
- 723D Device Mockup Generator3Dデバイスモックアップジェネレーター
- 73OpenAPI Docs & TS Types GeneratorOpenAPI→日本語ドキュメント&TS型定義
- 74Screen Review Board画面レビューボード
- 75AI Decision JournalAI活用案件の判断ログメモ
- 76Card Binder Plannerカードバインダー配置プランナー
- 77e-Stat CSV to Charte-Stat CSV かんたんグラフ化
- 78FAQ Schema (JSON-LD) & Markdown GeneratorFAQ構造化データ(JSON-LD)&Markdown ジェネレーター