TOOLOO · GENERATORS

抽選・ランダム生成

抽選、ルーレット、グループ分け、サイコロ、コイン、各種ランダム生成。すべて Web Crypto と rejection sampling を使い、リストはブラウザから出ません。

すべてのツール

抽選とグループ分け

ランダム抽選ツールリストから 1 人または複数人を公平に抽選します。重複の可否も選べます。ルーレット抽選リストをルーレットにして回し、当選者を決めます。ランダムグループ分けリストを人数がなるべく均等になるようランダムに分けます。

サイコロとコイン

オンラインサイコロ任意の面数と個数のサイコロを振り、補正値と内訳も表示します。オンラインコイントス1 回または複数回のコイントスを行い、表裏の集計と全系列を表示します。

ランダムな内容

ランダム氏名生成英語・中国語・日本語のランダムな氏名を生成します。テストデータや例示に適します。ユーザー名ジェネレーター形容詞+名詞のハンドル名を、複数の表記・区切りスタイルで生成します。ランダム日付生成指定した範囲内でランダムな日付を生成します。終了日を含めるかも選べます。ランダムカラー生成ランダムな色を生成します。パステル・ビビッド・ダーク・暖色・寒色に限定できます。

Math.random() を使わない理由

よくある `Math.random() % 長さ` は前方の項目をわずかに有利にします。乱数の範囲がリスト長で割り切れないことが多いためで、リストが長いほど、面数が半端なほど偏りは目立ちます。ここでは Web Crypto と rejection sampling に統一しています。均等に分けられない末尾の値は破棄して引き直すため、各項目の確率は完全に等しくなります。単一の乱数源に統一するもう 1 つの利点は、同じ補助関数が後日パスワードやトークンの生成に流用されるのを防げることです。そこでは弱い乱数が本当に問題になります。