ऑनलाइन रैंडम नंबर जनरेटर
परिणामों का वितरण
एकरूपता परीक्षण
परीक्षण चलाने के लिए संकरी सीमा में अधिक संख्याएँ खींचिए।
हाल के ड्रॉ
सहेजी गई सेटिंग
रैंडम नंबर जनरेटर कैसे काम करता है?
यह जनरेटर आपको रैंडमनेस के दो स्रोत देता है, और आप चुनते हैं कि आपके काम के लिए कौन सा उपयुक्त है।
सिक्योर रैंडम वेब क्रिप्टो एपीआई (crypto.getRandomValues()) के माध्यम से आपके ऑपरेटिंग सिस्टम से एंट्रॉपी लेता है। यह अप्रत्याशित और अदोहराने योग्य है — यह एक वास्तविक ड्रॉ के लिए सही विकल्प है जहाँ कोई भी पहले से परिणाम का अनुमान नहीं लगा सकता।
सीडेड मोड आपके द्वारा टाइप किए गए किसी भी टेक्स्ट को एक डिटरमिनिस्टिक जनरेटर (xoshiro128**) के प्रारंभिक स्टेट में बदल देता है। एक ही सीड हमेशा एक जैसी संख्याएँ देती है, इसलिए कोई भी आपके ड्रॉ को दोहराकर पुष्टि कर सकता है कि आपने वही परिणाम पाया जो आपने बताया।
दोनों पूरी तरह से आपके ब्राउज़र में चलते हैं। कोई भी संख्या कभी सर्वर तक नहीं पहुँचती।
मॉड्यूलो बायस नहीं
ज़्यादातर साधारण जनरेटर एक रैंडम 32-बिट वैल्यू को value % range के ज़रिए आपकी सीमा पर मैप करते हैं। जब सीमा 2³² में समान रूप से विभाजित नहीं होती, तो सबसे छोटी संख्याएँ बाकी की तुलना में थोड़ा अधिक बार आती हैं। हज़ारों ड्रॉ पर यह मापने योग्य हो जाता है।
यह जनरेटर इसके बजाय रिजेक्शन सैंपलिंग का उपयोग करता है: जो वैल्यू असमान टेल में आती हैं उन्हें छोड़कर दोबारा निकाला जाता है। आपकी सीमा में हर संख्या को बिल्कुल समान संभावना मिलती है। आप इसे बिल्ट-इन यूनिफ़ॉर्मिटी टेस्ट से खुद जाँच सकते हैं।
जनरेटर क्या-क्या कर सकता है
सीमा (Range)
- न्यूनतम और अधिकतम — कोई भी पूर्णांक या दशमलव सीमा, नकारात्मक मान सहित
- कितनी संख्याएँ — एक ड्रॉ में 1 से लेकर 10,00,000 तक
- कोई दोहराव नहीं — हर संख्या अधिकतम एक बार दिखाई देती है, जैसे असली ड्रॉ में होता है
- सॉर्ट — ड्रॉ क्रम, आरोही, या अवरोही; सॉर्टिंग रैंडमनेस को कभी प्रभावित नहीं करती
- स्टेप — परिणामों को किसी मान के गुणकों तक सीमित करें, ताकि केवल 0, 5, 10, 15 ही आएँ
- संख्याएँ बाहर रखें — उन मानों की सूची बनाएँ जो कभी नहीं निकाले जाने चाहिए
मोड
- रैंडमनेस का स्रोत — सिक्योर (वेब क्रिप्टो) या सीडेड (रिप्रोड्यूसिबल)
- सीड — कोई भी टेक्स्ट; एक ही सीड हमेशा एक जैसा ड्रॉ दोहराती है
- वितरण (Distribution) — यूनिफ़ॉर्म, नॉर्मल (गॉसियन), एक्सपोनेंशियल, पॉइसन, ट्राएंगुलर, बाइनोमियल
- वेट्स — चुनी गई संख्याओं को अधिक संभावना दें,
number:weightके रूप में लिखा गया - डाइस नोटेशन —
3d6+2,d20, एडवांटेज के लिए2d20kh1, स्टैट्स रोल करने के लिए4d6dl1
आउटपुट
- सेपरेटर — कॉमा, स्पेस, सेमीकोलन, टैब, नई लाइन, या आप जो भी टाइप करें
- नंबर सिस्टम — दशमलव, बाइनरी, ऑक्टल, हेक्साडेसिमल, या बेस 36
- ज़ीरो से पैड करें — टिकट या आईडी नंबर के लिए 7 को 007 बनाएँ
- प्रीफ़िक्स और सफ़िक्स — हर संख्या को फ़िक्स्ड टेक्स्ट में लपेटें
- टेम्पलेट —
{n}संख्या है,{i}उसकी पोज़िशन, इसलिएuser{n}बन जाता हैuser42 - इस रूप में कॉपी करें — प्लेन टेक्स्ट, CSV, JSON, या एक मार्कडाउन टेबल
आँकड़े (Statistics)
हर ड्रॉ का लाइव सारांश दिया जाता है: योग, औसत, मीडियन, न्यूनतम, अधिकतम, स्टैंडर्ड डेविएशन, साथ ही कितने परिणाम सम, विषम, या अभाज्य (प्राइम) हैं। एक हिस्टोग्राम वितरण का आकार दिखाता है, और एक काई-स्क्वायर टेस्ट बताता है कि परिणाम वास्तव में यूनिफ़ॉर्म वितरण से मेल खाते हैं या नहीं।
हिस्ट्री
पिछले 50 ड्रॉ आपके ब्राउज़र में उनकी सेटिंग्स के साथ सुरक्षित रहते हैं — एक क्लिक से किसी को भी वापस लाया जा सकता है। जिन कॉन्फ़िगरेशन का आप अक्सर उपयोग करते हैं उन्हें नामित प्रीसेट के रूप में सेव किया जा सकता है, और पूरी सूची को एक JSON फ़ाइल में एक्सपोर्ट किया जा सकता है जिसे आप किसी और मशीन पर इम्पोर्ट कर सकते हैं। कुछ भी इस ब्राउज़र के अलावा कहीं भी संग्रहीत नहीं होता।
कीबोर्ड
बिना माउस छुए दोबारा ड्रॉ करने के लिए Space या R दबाएँ।
त्वरित प्रीसेट
| प्रीसेट | सीमा | संख्या | उपयोग |
|---|---|---|---|
| 🎲 पासा | 1–6 | 1 | बोर्ड गेम, निर्णय लेना |
| 🪙 सिक्का | 0–1 | 1 | चित या पट |
| 🎰 लॉटरी | 1–49 | 6 | अद्वितीय, सॉर्टेड, असली ड्रॉ की तरह |
| 💯 1–100 | 1–100 | 1 | प्रतिशत, A/B स्प्लिट |
| 🔢 पिन | 0–9 | 4 | चार अंक, दोहराव की अनुमति |
रिप्रोड्यूसिबल ड्रॉ
सीडेड मोड उन क्षणों के लिए है जब “मुझ पर भरोसा करो, यह रैंडम था” काफी नहीं होता।
एक ऐसी सीड चुनें जिस पर सब पहले से सहमत हो सकें — एक तारीख, एक हैशटैग, किसी सार्वजनिक चीज़ की क्लोज़िंग प्राइस — और ड्रॉ से पहले उसे घोषित करें। फिर कोई भी वही सीड वही सेटिंग्स के साथ टाइप करके बिल्कुल वही परिणाम पा सकता है। आपने यह साबित नहीं किया कि संख्याएँ अप्रत्याशित थीं; आपने यह साबित किया कि आपने जवाब पसंद आने तक दोबारा रोल नहीं किया।
यह उस काम में भी रैंडमनेस को दोहराने योग्य बनाने का तरीका है जिसे जाँचा जाना ज़रूरी है: एक सैंपलिंग प्लान जिसे कोई सहकर्मी फिर से चला सके, टेस्ट फ़िक्सचर का एक सेट जो पूरे टेस्ट सूट में स्थिर रहे, एक क्लासरूम एक्सरसाइज़ जहाँ हर छात्र को एक जैसा “रैंडम” डेटा मिले।
वितरण चुनना
यूनिफ़ॉर्म सीमा में हर संख्या को समान संभावना देता है। लोग आमतौर पर रैंडम से यही समझते हैं, और यह डिफ़ॉल्ट है।
बाकी वितरण परिणामों को किसी मान के आसपास केंद्रित करते हैं, जो असल दुनिया की मात्राओं में आमतौर पर होता है:
- नॉर्मल (गॉसियन) — ऊँचाई, मापन त्रुटियाँ, टेस्ट स्कोर। एक औसत और स्टैंडर्ड डेविएशन सेट करें।
- एक्सपोनेंशियल — स्वतंत्र घटनाओं के बीच प्रतीक्षा समय।
- पॉइसन — एक निश्चित अंतराल में घटनाओं की गिनती: प्रति घंटा आगमन, प्रति बैच खराबियाँ।
- ट्राएंगुलर — जब आपको न्यूनतम, अधिकतम, और सबसे संभावित मान पता हो पर और कुछ नहीं। प्रोजेक्ट अनुमानों में आम।
- बाइनोमियल — एक निश्चित संभावना पर एक निश्चित संख्या के प्रयासों में से सफलताएँ।
हर वितरण आपकी सेट की गई सीमा तक सीमित रहता है, इसलिए एक लंबी गॉसियन टेल आपके न्यूनतम और अधिकतम से बाहर नहीं जा सकती।
रैंडम नंबर कहाँ उपयोग किए जाते हैं
खेल और मनोरंजन
- बोर्ड गेम — पासे फेंकना, बारी तय करना
- टेबलटॉप आरपीजी — एबिलिटी स्कोर के लिए
4d6dl1, एडवांटेज के लिए2d20kh1 - गिवअवे — विजेता चुनना, एक सीड के साथ ताकि प्रतिभागी इसे सत्यापित कर सकें
- क्विज़ — प्रश्नों का रैंडम क्रम
सांख्यिकी और विज्ञान
- सैंपलिंग — बिना दोहराव के जनसंख्या से नमूना निकालना
- A/B टेस्टिंग — प्रतिभागियों को समूहों में बाँटना
- मोंटे कार्लो सिमुलेशन — दोहराव से संभावना का अनुमान लगाना
- बूटस्ट्रैपिंग — अनिश्चितता का अनुमान लगाने के लिए रीसैंपलिंग
डेवलपमेंट
- टेस्ट डेटा — दस लाख मान, बैकग्राउंड में जेनरेट किए गए ताकि पेज रिस्पॉन्सिव रहे
- फ़िक्सचर — सीडेड, ताकि फेल होने वाला टेस्ट दोनों बार एक जैसे ढंग से फेल हो
- रैंडम आईडी — पैडिंग, प्रीफ़िक्स, या टेम्पलेट के साथ
- लोड टेस्टिंग —
user{n}@example.comजैसे टेम्पलेटेड आइडेंटिफ़ायर
सच्चे बनाम छद्म-यादृच्छिक नंबर
Math.random() | crypto.getRandomValues() | सीडेड (xoshiro128**) | |
|---|---|---|---|
| प्रकार | छद्म-यादृच्छिक | क्रिप्टोग्राफिक रूप से सुरक्षित | छद्म-यादृच्छिक, डिटरमिनिस्टिक |
| एंट्रॉपी स्रोत | इंजन-चयनित सीड | सिस्टम CSPRNG | आपकी सीड टेक्स्ट |
| भविष्यवाणी योग्य? | संभावित रूप से | नहीं | हाँ, डिज़ाइन के अनुसार |
| दोहराने योग्य? | नहीं | नहीं | हमेशा |
| सुरक्षा के लिए उपयुक्त | नहीं | हाँ | नहीं |
| सांख्यिकी के लिए उपयुक्त | निर्भर करता है | हाँ | हाँ |
| सत्यापन योग्य ड्रॉ के लिए उपयुक्त | नहीं | नहीं | हाँ |
इस टूल में Math.random() कहीं भी उपयोग नहीं किया जाता।
बिना दोहराव के ड्रॉ
जब कोई दोहराव नहीं सक्षम होता है, तो सीमा में हर संख्या अधिकतम एक बार दिखाई देती है। यह इसके लिए आदर्श है:
- गिवअवे — कोई भी दो बार नहीं जीत सकता
- परम्यूटेशन — वस्तुओं के एक सेट को शफ़ल करना
- बिंगो — बुलाई गई संख्याएँ दोबारा नहीं बुलाई जातीं
- लॉटरी — 1 से 49 तक की छह अलग-अलग संख्याएँ
ड्रॉ एक आंशिक फ़िशर-येट्स शफ़ल का उपयोग करता है, इसलिए दस लाख में से 6 संख्याएँ माँगना उतना ही तेज़ है जितना 49 में से 6 माँगना — यह कभी भी टकराव से बचने की उम्मीद में लूप नहीं करता। यदि आप सीमा द्वारा दी जा सकने वाली संख्या से अधिक अद्वितीय संख्याएँ माँगते हैं, तो जनरेटर अटकने के बजाय यह बता देता है।
परिणामों का निर्यात
संख्याओं को अपनी पसंद के किसी भी सेपरेटर के साथ प्लेन टेक्स्ट के रूप में, स्प्रेडशीट के लिए CSV के रूप में, कोड के लिए JSON के रूप में, या दस्तावेज़ीकरण के लिए मार्कडाउन टेबल के रूप में कॉपी करें। बहुत बड़े ड्रॉ पूरी तरह मेमोरी में रहते हैं और पूरी तरह कॉपी होते हैं, भले ही स्क्रीन पर केवल पहले कुछ हज़ार ही दिखाई दें।
अपने खुद के कोड में रैंडम नंबर जेनरेट करना
JavaScript / TypeScript
// [min, max] में क्रिप्टोग्राफिक रूप से सुरक्षित पूर्णांक, बिना मॉड्यूलो बायस के।
// सामान्य `value % range` तरीका छोटी संख्याओं के पक्ष में होता है जब range
// 2**32 में समान रूप से विभाजित नहीं होती - इसलिए हम असमान टेल की वैल्यू को रिजेक्ट करते हैं।
function randomInt(min, max) {
const range = max - min + 1;
const limit = Math.floor(0x100000000 / range) * range;
const arr = new Uint32Array(1);
let value;
do {
crypto.getRandomValues(arr);
value = arr[0];
} while (value >= limit);
return min + (value % range);
}
Python
import random
import secrets
# क्रिप्टोग्राफिक रूप से सुरक्षित, बिना मॉड्यूलो बायस के
n = secrets.randbelow(max - min + 1) + min
# रिप्रोड्यूसिबल: एक ही सीड हमेशा एक जैसा सीक्वेंस देती है
rng = random.Random('my-seed')
n = rng.randint(min, max)
# बिना दोहराव के
sample = random.sample(range(min, max + 1), count)
PHP
// क्रिप्टोग्राफिक रूप से सुरक्षित (PHP 7+), बिना मॉड्यूलो बायस के
$n = random_int($min, $max);
// रिप्रोड्यूसिबल
mt_srand(crc32('my-seed'));
$n = mt_rand($min, $max);
अक्सर पूछे जाने वाले प्रश्न (FAQ)
क्या परिणाम वास्तव में रैंडम है?
सिक्योर मोड में, हाँ। यहcrypto.getRandomValues() से आता है, जो आपके ऑपरेटिंग सिस्टम के एंट्रॉपी पूल द्वारा संचालित एक क्रिप्टोग्राफिक रूप से सुरक्षित जनरेटर है। परिणाम यूनिफ़ॉर्मली वितरित और अप्रत्याशित होते हैं। सीडेड मोड जानबूझकर इसके विपरीत है: यह रिप्रोड्यूसिबल है, और यही इसका उद्देश्य है।
मैं एक बार में कितने नंबर जेनरेट कर सकता हूँ?
10,00,000 तक। 50,000 से ऊपर के ड्रॉ एक बैकग्राउंड वर्कर में गणना किए जाते हैं ताकि पेज रिस्पॉन्सिव बना रहे, और स्क्रीन पहले 2,000 दिखाती है बाकी की गिनती के साथ — कॉपी करने पर आपको फिर भी सब कुछ मिलता है।क्या मैं नकारात्मक संख्याएँ जेनरेट कर सकता हूँ?
हाँ। न्यूनतम को नकारात्मक सेट करें। जावास्क्रिप्ट संख्याओं की पूरी सीमा काम करती है, जिसमें दोनों सिरों पर नकारात्मक सीमाएँ भी शामिल हैं।क्या सॉर्टिंग रैंडमनेस को प्रभावित करती है?
नहीं। संख्याएँ पहले निकाली जाती हैं और बाद में सॉर्ट की जाती हैं। सॉर्टिंग केवल उस क्रम को बदलती है जिसमें आप उन्हें देखते हैं।क्या एक ही सीड कल भी वही संख्याएँ देगी?
हाँ, और किसी भी अन्य डिवाइस या ब्राउज़र पर भी। सीडेड जनरेटर पूरी तरह डिटरमिनिस्टिक है और केवल आपकी सीड और सेटिंग्स पर निर्भर करता है।यूनिफ़ॉर्मिटी टेस्ट मुझे क्या बताता है?
यह एक काई-स्क्वायर टेस्ट चलाता है जो तुलना करता है कि हर संख्या वास्तव में कितनी बार आई बनाम उसे कितनी बार आना चाहिए था। यदि आँकड़ा क्रिटिकल वैल्यू से नीचे रहता है, तो परिणाम यूनिफ़ॉर्म वितरण के अनुरूप हैं। कुछ भी सार्थक कहने के लिए इसे एक उचित रूप से संकीर्ण सीमा और पर्याप्त ड्रॉ चाहिए होते हैं — प्रति संभावित मान कम से कम पाँच।वेट्स कैसे काम करते हैं?
इन्हेंnumber:weight जोड़ी के रूप में लिखें, उदाहरण के लिए 1:5, 2:1, 3:1। यहाँ 1, 2 या 3 की तुलना में पाँच गुना अधिक संभावित है। जिन संख्याओं को आप सूचीबद्ध नहीं करते उन्हें शून्य वेट मिलता है और वे कभी नहीं निकाली जातीं।
कौन सा डाइस नोटेशन समर्थित है?
3d6 तीन छह-भुजा वाले पासे रोल करता है। 3d6+2 से एक मॉडिफ़ायर जोड़ें। kh, kl, dh, dl से पासे रखें या हटाएँ — इसलिए 2d20kh1 दो d20 में से सबसे ऊँचा रखता है (एडवांटेज) और 4d6dl1 चार d6 में से सबसे नीचे वाला हटाता है।