Generator de Numere Aleatoare Online
Distribuția rezultatelor
Test de uniformitate
Extrage mai multe numere într-un interval mai îngust pentru a rula testul.
Extrageri recente
Presetări salvate
Cum funcționează generatorul de numere aleatoare?
Generatorul îți oferă două surse de aleatoriu, iar tu alegi pe care o folosești.
Aleatoriu sigur extrage entropie din sistemul tău de operare prin Web Crypto API (crypto.getRandomValues()). Este imprevizibil și nerepetabil — alegerea corectă pentru o extragere reală, unde nimeni nu trebuie să poată ghici rezultatul dinainte.
Cu seed transformă orice text pe care îl introduci într-o stare inițială pentru un generator determinist (xoshiro128**). Același seed produce mereu aceleași numere, așa că oricine poate reproduce extragerea ta și confirma că ai obținut ceea ce spui.
Ambele rulează integral în browser. Niciun număr nu ajunge vreodată pe un server.
Fără bias de modulo
Cele mai multe generatoare simple mapează o valoare aleatoare pe 32 de biți în intervalul tău cu value % range. Când intervalul nu se împarte exact la 2³², cele mai mici numere apar puțin mai des decât restul. Pe mii de extrageri, diferența devine măsurabilă.
Acest generator folosește în schimb rejection sampling (eșantionare cu respingere): valorile care ar cădea în coada neuniformă sunt aruncate și extrase din nou. Fiecare număr din intervalul tău are exact aceeași șansă. Poți verifica singur acest lucru cu testul de uniformitate integrat.
Ce poate face generatorul
Interval
- Minim și maxim — orice interval de numere întregi sau zecimale, inclusiv valori negative
- Câte numere — de la 1 până la 1.000.000 într-o singură extragere
- Fără repetiții — fiecare număr apare cel mult o dată, ca la o extragere reală
- Sortare — ordinea extragerii, crescător sau descrescător; sortarea nu afectează niciodată aleatoriul
- Pas — restrânge rezultatele la multipli ai unei valori, astfel încât să apară doar 0, 5, 10, 15
- Excludere numere — o listă de valori care nu trebuie extrase niciodată
Mod
- Sursa de aleatoriu — sigură (Web Crypto) sau cu seed (reproductibilă)
- Seed — orice text; același seed reproduce mereu aceeași extragere
- Distribuție — uniformă, normală (Gauss), exponențială, Poisson, triunghiulară, binomială
- Ponderi — dă unor numere alese o șansă mai mare, scrise sub forma
number:weight - Notație zaruri —
3d6+2,d20,2d20kh1pentru avantaj,4d6dl1pentru generarea statisticilor de personaj
Rezultat
- Separator — virgulă, spațiu, punct și virgulă, tab, linie nouă sau orice text introduci
- Sistem numeric — zecimal, binar, octal, hexazecimal sau baza 36
- Completare cu zerouri — transformă 7 în 007 pentru numere de bilete sau ID-uri
- Prefix și sufix — încadrează fiecare număr în text fix
- Șablon —
{n}este numărul,{i}este poziția lui, deciuser{n}devineuser42 - Copiază ca — text simplu, CSV, JSON sau tabel Markdown
Statistici
Fiecare extragere este rezumată live: sumă, medie, mediană, minim, maxim, deviație standard, plus câte rezultate sunt pare, impare sau prime. O histogramă arată forma distribuției, iar un test chi-pătrat îți spune dacă rezultatele corespund efectiv unei distribuții uniforme.
Istoric
Ultimele 50 de extrageri sunt păstrate în browser, împreună cu setările care le-au produs — un clic restaurează oricare dintre ele. Configurațiile folosite des pot fi salvate ca presetări numite, iar întregul set poate fi exportat într-un fișier JSON pe care îl poți importa pe alt dispozitiv. Nimic nu este stocat altundeva decât în acest browser.
Tastatură
Apasă Space sau R pentru a extrage din nou fără să folosești mausul.
Presetări rapide
| Presetare | Interval | Număr | Utilizare |
|---|---|---|---|
| 🎲 Zar | 1–6 | 1 | Jocuri de societate, decizii |
| 🪙 Monedă | 0–1 | 1 | Cap sau pajură |
| 🎰 Loterie | 1–49 | 6 | Unic, sortat, ca la o extragere reală |
| 💯 1–100 | 1–100 | 1 | Procente, împărțiri A/B |
| 🔢 PIN | 0–9 | 4 | Patru cifre, repetițiile sunt permise |
Extrageri reproductibile
Modul cu seed există pentru momentele în care „ai încredere, a fost aleator” nu este suficient.
Alege un seed asupra căruia toată lumea poate cădea de acord în avans — o dată, un hashtag, prețul de închidere al unui lucru public — și anunță-l înainte de extragere. Oricine poate apoi introduce același seed cu aceleași setări și obține un rezultat identic. Nu ai demonstrat că numerele au fost imprevizibile; ai demonstrat că nu ai repetat extragerea până ți-a plăcut răspunsul.
Este de asemenea modul în care faci aleatoriul repetabil în munca ce trebuie verificată: un plan de eșantionare pe care un coleg îl poate rula din nou, un set de fixtures de test care rămâne stabil pe parcursul unui suite de teste, un exercițiu de clasă în care fiecare elev primește aceleași date „aleatoare”.
Alegerea unei distribuții
Uniformă dă fiecărui număr din interval aceeași șansă. Este ceea ce oamenii înțeleg de obicei prin aleatoriu și este opțiunea implicită.
Celelalte grupează rezultatele în jurul unei valori, ceea ce reflectă tendința mărimilor din lumea reală:
- Normală (Gauss) — înălțimi, erori de măsurare, note de test. Se setează o medie și o deviație standard.
- Exponențială — timpi de așteptare între evenimente independente.
- Poisson — numărul de evenimente într-un interval fix: sosiri pe oră, defecte pe lot.
- Triunghiulară — când cunoști minimul, maximul și valoarea cea mai probabilă, dar nimic altceva. Frecvent folosită în estimările de proiect.
- Binomială — succese dintr-un număr fix de încercări, la o probabilitate fixă.
Fiecare distribuție este limitată la intervalul pe care îl setezi, astfel încât o coadă lungă de tip Gauss nu poate depăși minimul și maximul tău.
Unde se folosesc numerele aleatoare
Jocuri și divertisment
- Jocuri de societate — aruncarea zarurilor, ordinea la joc
- Jocuri RPG de masă —
4d6dl1pentru statisticile personajului,2d20kh1pentru avantaj - Tombole — alegerea unui câștigător, cu un seed pentru ca participanții să poată verifica
- Quiz-uri — ordine aleatoare a întrebărilor
Statistică și știință
- Eșantionare — extragerea unui eșantion dintr-o populație, fără repetiții
- Testare A/B — repartizarea participanților în grupuri
- Simulare Monte Carlo — estimarea probabilității prin repetiție
- Bootstrapping — reeșantionare pentru estimarea incertitudinii
Dezvoltare
- Date de test — un milion de valori, generate în fundal, astfel încât pagina rămâne receptivă
- Fixtures — cu seed, astfel încât un test eșuat eșuează la fel de două ori
- ID-uri aleatoare — cu completare, prefixe sau șablon
- Testare de încărcare — identificatori de tip șablon precum
user{n}@example.com
Numere aleatoare reale vs. pseudo-aleatoare
Math.random() | crypto.getRandomValues() | Cu seed (xoshiro128**) | |
|---|---|---|---|
| Tip | Pseudo-aleatoriu | Criptografic sigur | Pseudo-aleatoriu, determinist |
| Sursă de entropie | Seed ales de motor | CSPRNG de sistem | Textul tău seed |
| Predictibil? | Potențial | Nu | Da, prin design |
| Repetabil? | Nu | Nu | Întotdeauna |
| Bun pentru securitate | Nu | Da | Nu |
| Bun pentru statistică | Depinde | Da | Da |
| Bun pentru extrageri verificabile | Nu | Nu | Da |
Math.random() nu este folosit nicăieri în acest instrument.
Extrageri fără repetiție
Cu opțiunea Fără repetiții activată, fiecare număr din interval apare cel mult o dată. Ideal pentru:
- Tombole — nimeni nu poate câștiga de două ori
- Permutări — amestecarea unui set de elemente
- Bingo — apelarea numerelor care rămân apelate
- Loterie — șase numere distincte între 1 și 49
Extragerea folosește un shuffle Fisher–Yates parțial, astfel încât a cere 6 numere dintr-un milion este la fel de rapid ca a cere 6 din 49 — nu se repetă niciodată în buclă sperând să evite o coliziune. Dacă ceri mai multe numere unice decât poate furniza intervalul, generatorul îți spune acest lucru în loc să se blocheze.
Exportul rezultatelor
Copiază numerele ca text simplu cu orice separator dorești, ca CSV pentru o foaie de calcul, ca JSON pentru cod, sau ca tabel Markdown pentru documentație. Extragerile foarte mari rămân integral în memorie și se copiază integral, chiar dacă pe ecran sunt afișate doar primele câteva mii.
Generarea numerelor aleatoare în propriul tău cod
JavaScript / TypeScript
// Număr întreg criptografic sigur în [min, max], fără bias de modulo.
// Varianta naivă `value % range` favorizează numerele mici atunci când
// intervalul nu se împarte exact la 2**32 - de aceea respingem valorile
// din coada neuniformă.
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
# Criptografic sigur, fără bias de modulo
n = secrets.randbelow(max - min + 1) + min
# Reproductibil: același seed dă mereu aceeași secvență
rng = random.Random('my-seed')
n = rng.randint(min, max)
# Fără repetiție
sample = random.sample(range(min, max + 1), count)
PHP
// Criptografic sigur (PHP 7+), fără bias de modulo
$n = random_int($min, $max);
// Reproductibil
mt_srand(crc32('my-seed'));
$n = mt_rand($min, $max);
Întrebări frecvente (FAQ)
Rezultatul este cu adevărat aleator?
În modul sigur, da. Provine dincrypto.getRandomValues(), un generator criptografic sigur alimentat de rezerva de entropie a sistemului tău de operare. Rezultatele sunt distribuite uniform și imprevizibile. Modul cu seed este intenționat opusul: este reproductibil, ceea ce este chiar scopul lui.
Câte numere pot genera simultan?
Până la 1.000.000. Extragerile peste 50.000 sunt calculate într-un worker de fundal astfel încât pagina rămâne receptivă, iar pe ecran apar primele 2.000, cu numărul celor rămase — copierea îți oferă totuși totul.Pot genera numere negative?
Da. Setează un minim negativ. Funcționează întregul interval de numere JavaScript, inclusiv intervale negative la ambele capete.Sortarea afectează aleatoriul?
Nu. Numerele sunt extrase mai întâi și sortate ulterior. Sortarea schimbă doar ordinea în care le vezi.Același seed va da aceleași numere mâine?
Da, și pe orice alt dispozitiv sau browser. Generatorul cu seed este complet determinist și depinde doar de seed-ul și setările tale.Ce îmi spune testul de uniformitate?
Rulează un test chi-pătrat care compară cât de des a apărut de fapt fiecare număr cu cât de des ar fi trebuit să apară. Dacă statistica rămâne sub valoarea critică, rezultatele sunt consistente cu o distribuție uniformă. Are nevoie de un interval rezonabil de îngust și de suficiente extrageri — cel puțin cinci pentru fiecare valoare posibilă — ca să spună ceva relevant.Cum funcționează ponderile?
Se scriu ca perechinumber:weight, de exemplu 1:5, 2:1, 3:1. Aici 1 are de cinci ori mai multe șanse decât 2 sau 3. Numerele pe care nu le listezi primesc o pondere zero și nu sunt niciodată extrase.
Ce notație de zaruri este acceptată?
3d6 aruncă trei zaruri cu șase fețe. Adaugă un modificator cu 3d6+2. Păstrează sau elimină zaruri cu kh, kl, dh, dl — astfel 2d20kh1 păstrează cel mai mare din două zaruri d20 (avantaj), iar 4d6dl1 elimină cel mai mic din patru zaruri d6.