Tools100% ローカル
← すべてのツール
乱数ジェネレーター
crypto.getRandomValues · 一様 · ブラウザ内
crypto.getRandomValues から暗号学的乱数の整数や小数を取り出します。本ページは棄却サンプリングを使うので、結果はどんな範囲でも一様 — 剰余バイアスはありません。範囲、個数、小数桁数、並び順、出力区切り、ユニーク専用モードを設定できます。
モード
範囲
個数
ユニーク
並び替え
フォーマット
Click Generate
クリックでコピー—
これが「真の乱数」である理由
ブラウザは 2 種類の乱数源を公開しています:Math.random() は速いが各実行内で決定的な擬似乱数生成器、crypto.getRandomValues() は OS のエントロピープールから種付けされる暗号学的に安全な RNG — TLS セッション鍵生成に使われるのと同じ源です。本ページは引くたびに後者を使います。
モジュロバイアスの回避
素朴な「RNG から整数」実装は rand() % n をします — これは n が RNG のワードサイズを割り切らないとき、範囲の下端にわずかな重みを与えます。バイアスは小さいですが本物で、何百万回も引けば容易に検出できます。
小数モード
小数を要求すると、本ページは crypto.getRandomValues の 53 ビットから [0, 1) の一様値を引き、要求範囲にスケールします。最大 15 桁の精度が利用できます — IEEE-754 倍精度浮動小数点の実用的限界、つまり JavaScript 数値の限界です。
ユニークモード
重複なしを有効にすると、本ページは整数範囲を部分的に Fisher–Yates シャッフルします。これにより一様分布した一意の選択が保証されます — 復元なしの公平サンプリングの標準的アプローチです(カードのシャッフルや再抽選なしの抽選で使うのと同じアルゴリズム)。
プライバシー
すべての値はローカルで生成されます。本ページは初回の静的ロード後、ネットワークリクエストを送信せず、アナリティクススクリプトもありません。あなたの入力や生成された値はページから出ません。