乱数生成:好きな範囲でランダムな数を作る

範囲と個数を決めて「乱数を生成」を押してください。乱数はブラウザの暗号論的に安全な乱数生成器で作られるので、範囲内のどの数もまったく同じ確率で選ばれます。

最小値と最大値も選ばれる範囲に含まれます。
乱数77, 16, 68, 83, 23
生成した個数5
範囲内の整数の数100
重複なし

1〜100の100個の整数から、どれも同じ確率で1つずつ選んでいます(crypto.getRandomValuesと棄却サンプリングを使用)。

計算はお使いの端末内で完結 · 計算式は既知の値で検証済み · 検証方法について

使い方

最小値と最大値(どちらも選ばれる範囲に含まれます)、作りたい数の個数を入力して「乱数を生成」を押します。重複なしにすると、くじ引きのように同じ数は一度しか出ません。小さい順に並べるにすると、結果が昇順で表示されます。コピーボタンで表計算ソフトやメッセージに貼り付けられ、マイナスの数も使えます。

乱数のしくみ

乱数は、ブラウザに組み込まれた暗号論的に安全な乱数生成器 crypto.getRandomValues で作っています。一般的な Math.random は予測されにくさを保証していませんが、こちらはパスワードや暗号鍵にも使われる方式です。計算はすべてお使いの端末の中で行われ、結果がサーバーに送られることはありません。

生の乱数を指定の範囲に収めるには少し工夫が必要です。単純に「範囲の大きさで割った余り」を使うと、範囲によっては小さい数がわずかに出やすくなります。たとえば0〜9の乱数を3つの数に割り振ると、余り0は4回(0・3・6・9)、余り1と2は3回ずつ現れて不公平です。このツールは棄却サンプリングで、偏りの原因になるごく一部の値を捨てて引き直すため、範囲内のどの整数もまったく同じ確率になります。

重複あり・なしの違い

重複ありでは、サイコロを何度も振るように毎回が独立しています。同じ数は思ったより出やすく、1〜100から5個選ぶと、少なくとも1組が重なる確率はおよそ9.7%です。重複なしでは、範囲に含まれる整数の数より多くは選べません。1〜10なら最大10個までで、それを超えるとお知らせします。

こんな場面で使えます

特定の数が出る確率

N個の整数がある範囲では、1回の生成で特定の数が出る確率は1/N。1〜100なら100分の1です。独立にk回生成したとき、その数が少なくとも1回出る確率は 1 − (1 − 1/N)k です。前の結果は次の結果に影響しないので、しばらく出ていない数が「そろそろ出る」ということはありません。ロト6の数字の組み合わせは6,096,454通りあり、1等が当たる確率は約610万分の1です。

よくある質問

本当にランダム?

OSが集めた予測できない情報をもとにする、暗号論的に安全な乱数生成器を使っています。抽選やゲーム、標本抽出には十分です。ただし宝くじなど公式の抽選には専用の抽せん機と立会いが必要で、ウェブサイトの乱数は使えません。

最小値と最大値も出る?

はい。1〜10の範囲なら1も10も出ることがあり、10個の数はどれも同じ確率です。

小数の乱数は作れる?

このツールは整数を作ります。小数第2位までの0〜1の乱数がほしいなら、0〜100の整数を作ってそれぞれ100で割ってください。

同じ数が何度も出るのはなぜ?

重複ありでは毎回が独立しているため、同じ数が出るのは自然なことです。1〜100から5個なら、およそ10回に1回は重なります。避けたいときは「重複なし」にチェックを入れてください。

生成した結果は保存される?

いいえ。乱数はブラウザの中で作られ、入力を変えたりページを閉じたりすると消えます。記録が必要ならコピーして保存してください。

この計算ツールをあなたのサイトに埋め込む

ウェブサイトやブログで無料でお使いいただけます。表示したい場所に次のコードを貼り付けてください。

最終更新日:2026年10月8日

メニュー

カテゴリー

お金・ローンの計算ツール13種類の計算ツールビジネス・買い物の計算ツール5種類の計算ツール健康・ダイエットの計算ツール6種類の計算ツール数学・学習の計算ツール6種類の計算ツール日付・時間の計算ツール5種類の計算ツール年中行事までのカウントダウン7種類の計算ツール暮らしに役立つツール4種類の計算ツール

CalcWorthy

運営者情報お問い合わせプライバシーポリシー利用規約

言語

言語
日本語JapaneseEnglishEnglishالعربيةArabicDeutschGermanEspañolSpanishFrançaisFrenchहिन्दीHindiBahasa IndonesiaIndonesianItalianoItalian한국어KoreanNederlandsDutchPolskiPolishPortuguêsPortugueseРусскийRussianTürkçeTurkishTiếng ViệtVietnamese