ランダム文字列生成|文字数・文字種・件数を指定

生成・便利ツール
使用する文字

入力した各文字を生成候補へ追加します。重複する文字は1つとして扱います。

長さと件数はそれぞれ1~1,000、合計は1,000,000文字までです。

使用する文字、長さ、件数を指定して生成してください。

このツールでできること

英小文字、英大文字、数字、記号、任意に追加した文字を候補にして、指定した長さと件数のランダム文字列を生成します。テストID、入力テスト用の文字列、ダミーデータを1行1件でまとめて作成できます。

使い方

  1. 使用する文字の種類を選びます。
  2. 必要に応じて「追加する文字」へ任意の文字を入力します。
  3. 文字列の長さと生成件数を指定します。
  4. 「文字列を生成」を押します。
  5. 必要に応じて「結果をコピー」を押します。

選択した文字種は生成候補へ追加されますが、各文字種が結果に最低1文字ずつ含まれるとは限りません。条件を変更すると、以前の結果は消去されます。

入力例・出力例

英小文字と数字を選び、長さ8、件数5にすると、半角英小文字と数字を候補にした8文字の文字列を5行生成します。文字は候補からランダムに選ばれ、英小文字だけ、または数字だけの行になる場合もあります。

標準の文字種をすべて外し、「追加する文字」へあいうを入力すると、この3文字だけを候補にできます。同じ文字を複数回入力したり、標準の文字種と同じ文字を追加したりしても、候補内では1文字として扱い、選ばれやすさは増えません。

よくある利用場面

  • UIテスト用のIDやダミーコードをまとめて作るとき
  • 任意文字を含む文字列で入力欄の動作を確認するとき
  • 開発中の一時的な識別文字列を指定件数生成するとき

ランダム文字の選び方と利用上の注意

標準の候補は、英小文字26文字、英大文字26文字、数字10文字、ASCII記号32文字です。記号はASCIIの!から~までにある文字のうち、英数字を除いた半角記号で、半角スペースは含みません。「追加する文字」で半角スペースなどを候補へ加えることはできます。

Web Crypto APIのcrypto.getRandomValues()を使い、候補内の各文字を同じ確率で選びます。Web Crypto APIを利用できない場合や取得に失敗した場合は結果を表示せず、Math.random()へ切り替えません。

各位置の文字は候補全体から個別に選ぶため、同じ文字が繰り返される場合があります。複数件を生成したときも、同じ文字列が偶然重複する場合があります。各文字種を最低1文字ずつ含める機能、重複なし、シードを指定した再現、生成履歴の保存には対応していません。

このツールはテスト用・ダミーデータ用です。APIキー、パスワード、暗号鍵に必要な文字構成や強度の判定、発行後の保存・失効・権限管理を行わないため、本番の秘密情報に対する安全性は保証しません。

処理仕様

初期設定は英小文字・英大文字・数字、長さ16、5件です。長さと生成件数はそれぞれ1~1,000の半角数字で指定し、生成文字数の合計は最大1,000,000文字です。全角数字、小数、指数表記、範囲外の値では生成しません。

追加した文字はUnicodeコードポイント単位で扱い、候補全体の重複を入力順に除きます。CRとLFは1行1件の出力を壊すため追加できません。結合文字やZWJを含む絵文字は、見た目の1文字が複数のUnicodeコードポイントとして数えられる場合があります。

結果はLFで区切って1行1件で表示し、末尾には改行を付けません。「クリア」を押すと初期設定へ戻ります。

入力データについて

入力した条件と生成処理はブラウザ内だけで扱います。外部APIや外部ライブラリを使わず、ToolRollのサーバーや外部サービスへ送信しません。Cookie、localStorage、sessionStorage、IndexedDB、ブラウザの履歴にも保存しません。「結果をコピー」を押した場合に限り、生成結果を端末のクリップボードへ書き込みます。