Apprezzerei se condividessi queste pagine con gli amici, le aggiungessi ai segnalibri o ci collegassi. Grazie! 🙏

Generatore di Numeri Casuali Online

Acrafto Team Matematica
Aggiornato
Preimpostazioni rapide
Tutto avviene nel tuo browser. Nessun numero lascia mai il tuo dispositivo.

Come funziona il generatore di numeri casuali?

Il generatore offre due fonti di casualità, e puoi scegliere quella più adatta al tuo scopo.

Casuale sicuro attinge entropia dal tuo sistema operativo tramite la Web Crypto API (crypto.getRandomValues()). È imprevedibile e irripetibile — la scelta giusta per un’estrazione reale in cui nessuno deve poter indovinare il risultato in anticipo.

Con seed trasforma qualsiasi testo tu digiti in uno stato iniziale per un generatore deterministico (xoshiro128**). Lo stesso seed produce sempre gli stessi numeri, così chiunque può ripetere la tua estrazione e verificare che il risultato sia quello dichiarato.

Entrambi funzionano interamente nel tuo browser. Nessun numero raggiunge mai un server.

Nessun bias da modulo

La maggior parte dei generatori semplici mappa un valore casuale a 32 bit sul tuo intervallo con value % range. Quando l’intervallo non divide esattamente 2³², i numeri più bassi escono leggermente più spesso degli altri. Su migliaia di estrazioni la differenza è misurabile.

Questo generatore utilizza invece il rejection sampling: i valori che cadrebbero nella coda irregolare vengono scartati e ridisegnati. Ogni numero nel tuo intervallo ha esattamente la stessa probabilità. Puoi verificarlo tu stesso con il test di uniformità integrato.

Cosa può fare il generatore

Intervallo

  • Minimo e massimo — qualsiasi intervallo intero o decimale, valori negativi inclusi
  • Quanti numeri — da 1 fino a 1.000.000 in una sola estrazione
  • Nessuna ripetizione — ogni numero compare al massimo una volta, come in un’estrazione reale
  • Ordinamento — ordine di estrazione, crescente o decrescente; l’ordinamento non tocca mai la casualità
  • Passo — limita i risultati ai multipli di un valore, così escono solo 0, 5, 10, 15
  • Escludi numeri — elenca valori che non devono mai essere estratti

Modalità

  • Fonte di casualità — sicura (Web Crypto) o con seed (riproducibile)
  • Seed — qualsiasi testo; lo stesso seed ripete sempre la stessa estrazione
  • Distribuzione — uniforme, normale (gaussiana), esponenziale, Poisson, triangolare, binomiale
  • Pesi — assegna a numeri scelti una probabilità più alta, scritta come number:weight
  • Notazione dei dadi3d6+2, d20, 2d20kh1 per il vantaggio, 4d6dl1 per generare le statistiche

Output

  • Separatore — virgola, spazio, punto e virgola, tabulazione, nuova riga, o qualsiasi testo tu digiti
  • Sistema numerico — decimale, binario, ottale, esadecimale o base 36
  • Riempimento con zeri — trasforma 7 in 007 per numeri di biglietti o ID
  • Prefisso e suffisso — racchiude ogni numero in un testo fisso
  • Modello{n} è il numero, {i} la sua posizione, così user{n} diventa user42
  • Copia come — testo semplice, CSV, JSON o tabella Markdown

Statistiche

Ogni estrazione viene riassunta in tempo reale: somma, media, mediana, minimo, massimo, deviazione standard, oltre a quanti risultati sono pari, dispari o primi. Un istogramma mostra la forma della distribuzione, e un test del chi-quadrato indica se i risultati corrispondono effettivamente a una distribuzione uniforme.

Cronologia

Le ultime 50 estrazioni vengono conservate nel tuo browser, insieme alle impostazioni che le hanno generate — un clic ripristina una qualsiasi di esse. Le configurazioni usate spesso possono essere salvate come preset con nome, e l’intero elenco può essere esportato in un file JSON da importare su un’altra macchina. Nulla viene memorizzato al di fuori di questo browser.

Tastiera

Premi Spazio o R per ripetere l’estrazione senza usare il mouse.

Preset rapidi

PresetIntervalloQuantitàUtilizzo
🎲 Dado1–61Giochi da tavolo, decisioni
🪙 Moneta0–11Testa o croce
🎰 Lotteria1–496Unico, ordinato, come un’estrazione reale
💯 1–1001–1001Percentuali, suddivisioni A/B
🔢 PIN0–94Quattro cifre, ripetizioni ammesse

Estrazioni riproducibili

La modalità con seed esiste per i momenti in cui “fidati, era casuale” non basta.

Scegli in anticipo un seed su cui tutti possano concordare — una data, un hashtag, il prezzo di chiusura di qualcosa di pubblico — e annuncialo prima di estrarre. Chiunque può quindi digitare lo stesso seed con le stesse impostazioni e ottenere il risultato identico. Non hai dimostrato che i numeri fossero imprevedibili; hai dimostrato di non aver ripetuto l’estrazione finché non ti è piaciuto il risultato.

È anche il modo per rendere la casualità ripetibile in un lavoro che deve poter essere verificato: un piano di campionamento che un collega può rieseguire, un insieme di fixture di test che resta stabile in una suite di test, un esercizio in classe in cui ogni studente riceve gli stessi dati “casuali”.

Scegliere una distribuzione

Uniforme dà a ogni numero dell’intervallo la stessa probabilità. È ciò che di solito si intende per casuale, ed è l’impostazione predefinita.

Le altre concentrano i risultati attorno a un valore, che è ciò che tendono a fare le grandezze del mondo reale:

  • Normale (gaussiana) — altezze, errori di misura, punteggi di test. Imposta una media e una deviazione standard.
  • Esponenziale — tempi di attesa tra eventi indipendenti.
  • Poisson — conteggi di eventi in un intervallo fisso: arrivi all’ora, difetti per lotto.
  • Triangolare — quando conosci solo il minimo, il massimo e il valore più probabile. Comune nelle stime di progetto.
  • Binomiale — successi su un numero fisso di prove con una probabilità fissa.

Ogni distribuzione viene troncata all’intervallo impostato, così una lunga coda gaussiana non può uscire dal tuo minimo e massimo.

Dove si usano i numeri casuali

Giochi e intrattenimento

  • Giochi da tavolo — lancio di dadi, ordine di turno
  • Giochi di ruolo da tavolo4d6dl1 per le caratteristiche, 2d20kh1 per il vantaggio
  • Estrazioni a premi — scegliere un vincitore, con un seed così i partecipanti possono verificarlo
  • Quiz — ordine casuale delle domande

Statistica e scienza

  • Campionamento — estrarre un campione da una popolazione senza ripetizioni
  • Test A/B — assegnare i partecipanti ai gruppi
  • Simulazione Monte Carlo — stimare una probabilità per ripetizione
  • Bootstrapping — ricampionamento per stimare l’incertezza

Sviluppo

  • Dati di test — un milione di valori, generati in background così la pagina resta reattiva
  • Fixture — con seed, così un test che fallisce fallisce allo stesso modo due volte
  • ID casuali — con riempimento, prefissi o un modello
  • Test di carico — identificatori basati su modello come user{n}@example.com

Numeri veri vs. pseudocasuali

Math.random()crypto.getRandomValues()Con seed (xoshiro128**)
TipoPseudocasualeCrittograficamente sicuroPseudocasuale, deterministico
Fonte di entropiaSeed scelto dal motoreCSPRNG di sistemaIl tuo testo seed
Prevedibile?PotenzialmenteNoSì, per design
Ripetibile?NoNoSempre
Adatto alla sicurezzaNoNo
Adatto alla statisticaDipende
Adatto a estrazioni verificabiliNoNo

Math.random() non viene usato in nessun punto di questo strumento.

Estrazioni senza ripetizione

Con l’opzione Nessuna ripetizione attiva, ogni numero dell’intervallo compare al massimo una volta. Ideale per:

  • Estrazioni a premi — nessuno può vincere due volte
  • Permutazioni — mescolare un insieme di elementi
  • Tombola — chiamare numeri che restano chiamati
  • Lotteria — sei numeri distinti da 1 a 49

L’estrazione utilizza uno shuffle di Fisher–Yates parziale, quindi chiedere 6 numeri su un milione è veloce quanto chiederne 6 su 49 — non entra mai in un ciclo sperando di evitare una collisione. Se chiedi più numeri unici di quanti l’intervallo possa fornire, il generatore te lo segnala invece di bloccarsi.

Esportazione dei risultati

Copia i numeri come testo semplice con qualsiasi separatore tu preferisca, come CSV per un foglio di calcolo, come JSON per il codice, o come tabella Markdown per la documentazione. Le estrazioni molto grandi restano interamente in memoria e vengono copiate per intero, anche se sullo schermo vengono disegnate solo le prime due migliaia circa.

Generare numeri casuali nel tuo codice

JavaScript / TypeScript

// Intero crittograficamente sicuro in [min, max], senza bias da modulo.
// L'approccio ingenuo `value % range` favorisce i numeri bassi quando
// range non divide 2**32 esattamente - quindi scartiamo i valori nella coda irregolare.
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

# Crittograficamente sicuro, senza bias da modulo
n = secrets.randbelow(max - min + 1) + min

# Riproducibile: lo stesso seed dà sempre la stessa sequenza
rng = random.Random('my-seed')
n = rng.randint(min, max)

# Senza ripetizioni
sample = random.sample(range(min, max + 1), count)

PHP

// Crittograficamente sicuro (PHP 7+), senza bias da modulo
$n = random_int($min, $max);

// Riproducibile
mt_srand(crc32('my-seed'));
$n = mt_rand($min, $max);

Domande frequenti (FAQ)

Il risultato è davvero casuale? In modalità sicura, sì. Deriva da crypto.getRandomValues(), un generatore crittograficamente sicuro alimentato dal pool di entropia del tuo sistema operativo. I risultati sono distribuiti uniformemente e imprevedibili. La modalità con seed è deliberatamente l'opposto: è riproducibile, ed è proprio questo il suo scopo.
Quanti numeri posso generare contemporaneamente? Fino a 1.000.000. Le estrazioni superiori a 50.000 vengono calcolate in un worker in background così la pagina resta reattiva, e lo schermo mostra i primi 2.000 con un conteggio del resto — la copia restituisce comunque tutto.
Posso generare numeri negativi? Sì. Imposta un minimo negativo. Funziona l'intero intervallo dei numeri JavaScript, compresi intervalli negativi su entrambi gli estremi.
L'ordinamento influisce sulla casualità? No. I numeri vengono prima estratti e poi ordinati. L'ordinamento cambia solo l'ordine in cui li vedi.
Lo stesso seed darà gli stessi numeri anche domani? Sì, e su qualsiasi altro dispositivo o browser. Il generatore con seed è completamente deterministico e dipende solo dal tuo seed e dalle tue impostazioni.
Cosa mi dice il test di uniformità? Esegue un test del chi-quadrato che confronta quante volte ogni numero è effettivamente uscito rispetto a quante volte avrebbe dovuto uscire. Se la statistica resta sotto il valore critico, i risultati sono coerenti con una distribuzione uniforme. Serve un intervallo ragionevolmente ristretto e un numero sufficiente di estrazioni — almeno cinque per ogni valore possibile — per dire qualcosa di significativo.
Come funzionano i pesi? Scrivili come coppie number:weight, ad esempio 1:5, 2:1, 3:1. Qui 1 è cinque volte più probabile di 2 o 3. I numeri che non elenchi ricevono un peso pari a zero e non vengono mai estratti.
Quale notazione dei dadi è supportata? 3d6 lancia tre dadi a sei facce. Aggiungi un modificatore con 3d6+2. Tieni o scarta dadi con kh, kl, dh, dl — così 2d20kh1 tiene il più alto di due d20 (vantaggio) e 4d6dl1 scarta il più basso di quattro d6.
La mia cronologia viene memorizzata da qualche parte? Solo in questo browser, nel local storage. Non raggiunge mai un server, non si sincronizza con un altro dispositivo e scompare se cancelli i dati del sito. Esportala in JSON se vuoi conservarla o spostarla.