Générateur de nombres aléatoires en ligne
Répartition des résultats
Test d'uniformité
Tirez plus de nombres dans une plage plus étroite pour lancer le test.
Tirages récents
Réglages enregistrés
Comment fonctionne le générateur de nombres aléatoires ?
Le générateur vous offre deux sources d’aléatoire, et c’est à vous de choisir celle qui convient.
Aléatoire sécurisé puise l’entropie de votre système d’exploitation via l’API Web Crypto (crypto.getRandomValues()). Il est imprévisible et non reproductible — le bon choix pour un tirage réel où personne ne doit pouvoir deviner le résultat à l’avance.
Avec graine (seed) transforme n’importe quel texte que vous saisissez en état initial pour un générateur déterministe (xoshiro128**). La même graine produit toujours les mêmes nombres, ce qui permet à quiconque de rejouer votre tirage et de confirmer que vous avez bien obtenu ce que vous annoncez.
Les deux fonctionnent entièrement dans votre navigateur. Aucun nombre n’atteint jamais un serveur.
Aucun biais de modulo
La plupart des générateurs simples projettent une valeur aléatoire sur 32 bits vers votre plage avec valeur % plage. Lorsque la plage ne divise pas exactement 2³², les nombres les plus bas reviennent légèrement plus souvent que les autres. Sur des milliers de tirages, cet écart devient mesurable.
Ce générateur utilise à la place l’échantillonnage par rejet : les valeurs qui tomberaient dans la queue inégale sont écartées et retirées. Chaque nombre de votre plage a exactement la même chance d’apparaître. Vous pouvez le vérifier vous-même avec le test d’uniformité intégré.
Ce que le générateur permet de faire
Plage
- Minimum et maximum — n’importe quelle plage entière ou décimale, valeurs négatives incluses
- Combien de nombres — de 1 jusqu’à 1 000 000 en un seul tirage
- Sans répétition — chaque nombre apparaît au maximum une fois, comme dans un vrai tirage
- Tri — ordre de tirage, croissant ou décroissant ; le tri ne modifie jamais l’aléatoire
- Pas — limiter les résultats aux multiples d’une valeur, pour n’obtenir que 0, 5, 10, 15
- Exclure des nombres — lister les valeurs qui ne doivent jamais être tirées
Mode
- Source d’aléatoire — sécurisée (Web Crypto) ou avec graine (reproductible)
- Graine (seed) — n’importe quel texte ; la même graine rejoue toujours le même tirage
- Distribution — uniforme, normale (gaussienne), exponentielle, Poisson, triangulaire, binomiale
- Poids — donner à certains nombres une probabilité plus élevée, sous la forme
nombre:poids - Notation de dés —
3d6+2,d20,2d20kh1pour l’avantage,4d6dl1pour générer des caractéristiques
Sortie
- Séparateur — virgule, espace, point-virgule, tabulation, retour à la ligne, ou tout texte de votre choix
- Système numérique — décimal, binaire, octal, hexadécimal ou base 36
- Compléter avec des zéros — transformer 7 en 007 pour des numéros de billet ou d’identifiant
- Préfixe et suffixe — encadrer chaque nombre d’un texte fixe
- Modèle —
{n}est le nombre,{i}sa position, doncuser{n}devientuser42 - Copier au format — texte brut, CSV, JSON ou tableau Markdown
Statistiques
Chaque tirage est résumé en direct : somme, moyenne, médiane, minimum, maximum, écart-type, ainsi que le nombre de résultats pairs, impairs ou premiers. Un histogramme montre la forme de la distribution, et un test du khi-deux indique si les résultats correspondent réellement à une distribution uniforme.
Historique
Les 50 derniers tirages sont conservés dans votre navigateur, avec les réglages qui les ont produits — un clic suffit pour en restaurer un. Les configurations que vous utilisez souvent peuvent être enregistrées comme préréglages nommés, et l’ensemble s’exporte vers un fichier JSON que vous pouvez importer sur une autre machine. Rien n’est stocké ailleurs que dans ce navigateur.
Clavier
Appuyez sur Espace ou R pour relancer un tirage sans toucher la souris.
Préréglages rapides
| Préréglage | Plage | Nombre | Usage |
|---|---|---|---|
| 🎲 Dé | 1–6 | 1 | Jeux de société, prise de décision |
| 🪙 Pièce | 0–1 | 1 | Pile ou face |
| 🎰 Loterie | 1–49 | 6 | Unique, trié, comme un vrai tirage |
| 💯 1–100 | 1–100 | 1 | Pourcentages, répartitions A/B |
| 🔢 Code PIN | 0–9 | 4 | Quatre chiffres, répétitions autorisées |
Tirages reproductibles
Le mode avec graine existe pour les moments où « faites-moi confiance, c’était aléatoire » ne suffit pas.
Choisissez une graine sur laquelle tout le monde peut s’accorder à l’avance — une date, un hashtag, le cours de clôture d’une valeur publique — et annoncez-la avant le tirage. N’importe qui peut ensuite saisir la même graine avec les mêmes réglages et obtenir un résultat identique. Vous n’avez pas prouvé que les nombres étaient imprévisibles ; vous avez prouvé que vous n’avez pas relancé le tirage jusqu’à obtenir la réponse qui vous plaisait.
C’est aussi ce qui permet de rendre l’aléatoire reproductible dans un travail qui doit pouvoir être vérifié : un plan d’échantillonnage qu’un collègue peut relancer, un jeu de données de test qui reste stable d’une exécution à l’autre d’une suite de tests, un exercice en classe où chaque élève reçoit les mêmes données « aléatoires ».
Choisir une distribution
Uniforme donne à chaque nombre de la plage la même chance. C’est ce que l’on entend généralement par aléatoire, et c’est la valeur par défaut.
Les autres regroupent les résultats autour d’une valeur, ce que les grandeurs du monde réel ont tendance à faire :
- Normale (gaussienne) — tailles, erreurs de mesure, résultats de tests. Définissez une moyenne et un écart-type.
- Exponentielle — temps d’attente entre des événements indépendants.
- Poisson — nombre d’événements sur un intervalle fixe : arrivées par heure, défauts par lot.
- Triangulaire — quand vous connaissez le minimum, le maximum et la valeur la plus probable, mais rien d’autre. Fréquent dans les estimations de projet.
- Binomiale — nombre de succès sur un nombre fixe d’essais à probabilité fixe.
Chaque distribution est bornée à la plage que vous définissez, de sorte qu’une longue queue gaussienne ne peut jamais dépasser votre minimum ou votre maximum.
Où sont utilisés les nombres aléatoires
Jeux et divertissements
- Jeux de société — lancers de dés, ordre de jeu
- Jeux de rôle sur table —
4d6dl1pour les caractéristiques,2d20kh1pour l’avantage - Tirages au sort — désigner un gagnant, avec une graine pour que les participants puissent vérifier
- Quiz — ordre aléatoire des questions
Statistiques et science
- Échantillonnage — tirer un échantillon d’une population sans répétition
- Tests A/B — répartir les participants en groupes
- Simulation de Monte-Carlo — estimer une probabilité par répétition
- Bootstrapping — rééchantillonnage pour estimer une incertitude
Développement
- Données de test — un million de valeurs, générées en arrière-plan pour que la page reste réactive
- Fixtures — avec graine, pour qu’un test qui échoue échoue de la même façon à chaque fois
- Identifiants aléatoires — avec complément de zéros, préfixes ou modèle
- Tests de charge — identifiants sous forme de modèle comme
user{n}@example.com
Nombres vraiment aléatoires vs. pseudo-aléatoires
Math.random() | crypto.getRandomValues() | Avec graine (xoshiro128**) | |
|---|---|---|---|
| Type | Pseudo-aléatoire | Cryptographiquement sécurisé | Pseudo-aléatoire, déterministe |
| Source d’entropie | Graine choisie par le moteur | CSPRNG système | Votre texte de graine |
| Prévisible ? | Potentiellement | Non | Oui, par conception |
| Reproductible ? | Non | Non | Toujours |
| Adapté à la sécurité | Non | Oui | Non |
| Adapté aux statistiques | Ça dépend | Oui | Oui |
| Adapté aux tirages vérifiables | Non | Non | Oui |
Math.random() n’est utilisé nulle part dans cet outil.
Tirages sans répétition
Avec l’option Sans répétition activée, chaque nombre de la plage apparaît au maximum une fois. Idéal pour :
- Tirages au sort — personne ne peut gagner deux fois
- Permutations — mélanger un ensemble d’éléments
- Bingo — appeler des numéros qui restent appelés
- Loterie — six numéros distincts entre 1 et 49
Le tirage utilise un mélange de Fisher-Yates partiel, ce qui fait que demander 6 nombres parmi un million est aussi rapide que demander 6 nombres parmi 49 — il ne boucle jamais dans l’espoir d’éviter une collision. Si vous demandez plus de nombres uniques que la plage ne peut en fournir, le générateur vous le signale au lieu de rester bloqué.
Export des résultats
Copiez les nombres en texte brut avec le séparateur de votre choix, en CSV pour un tableur, en JSON pour du code, ou en tableau Markdown pour de la documentation. Les très grands tirages restent entièrement en mémoire et se copient en intégralité, même si seuls les premiers milliers sont affichés à l’écran.
Générer des nombres aléatoires dans votre propre code
JavaScript / TypeScript
// Entier cryptographiquement sécurisé dans [min, max], sans biais de modulo.
// L'approche naïve `value % range` favorise les petits nombres quand la plage
// ne divise pas 2**32 de façon exacte - on rejette donc les valeurs de la queue inégale.
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
# Cryptographiquement sécurisé, sans biais de modulo
n = secrets.randbelow(max - min + 1) + min
# Reproductible : la même graine donne toujours la même séquence
rng = random.Random('ma-graine')
n = rng.randint(min, max)
# Sans répétition
sample = random.sample(range(min, max + 1), count)
PHP
// Cryptographiquement sécurisé (PHP 7+), sans biais de modulo
$n = random_int($min, $max);
// Reproductible
mt_srand(crc32('ma-graine'));
$n = mt_rand($min, $max);
Foire aux questions (FAQ)
Le résultat est-il vraiment aléatoire ?
En mode sécurisé, oui. Il provient decrypto.getRandomValues(), un générateur cryptographiquement sécurisé alimenté par le pool d'entropie de votre système d'exploitation. Les résultats sont distribués uniformément et imprévisibles. Le mode avec graine fait délibérément l'inverse : il est reproductible, et c'est précisément son but.
Combien de nombres puis-je générer à la fois ?
Jusqu'à 1 000 000. Les tirages au-delà de 50 000 sont calculés dans un worker en arrière-plan pour que la page reste réactive, et l'écran affiche les 2 000 premiers avec le décompte du reste — la copie vous donne quant à elle tout le résultat.Puis-je générer des nombres négatifs ?
Oui. Définissez un minimum négatif. Toute la plage des nombres JavaScript fonctionne, y compris des plages négatives à chaque extrémité.Le tri affecte-t-il l'aléatoire ?
Non. Les nombres sont d'abord tirés, puis triés ensuite. Le tri ne change que l'ordre dans lequel vous les voyez.La même graine donnera-t-elle les mêmes nombres demain ?
Oui, et sur n'importe quel autre appareil ou navigateur. Le générateur avec graine est entièrement déterministe et ne dépend que de votre graine et de vos réglages.Que m'indique le test d'uniformité ?
Il effectue un test du khi-deux comparant la fréquence réelle de chaque nombre à sa fréquence théorique attendue. Si la statistique reste sous la valeur critique, les résultats sont compatibles avec une distribution uniforme. Il faut une plage raisonnablement étroite et suffisamment de tirages — au moins cinq par valeur possible — pour que le test ait un sens.Comment fonctionnent les poids ?
Écrivez-les sous forme de pairesnombre:poids, par exemple 1:5, 2:1, 3:1. Ici, 1 a cinq fois plus de chances de sortir que 2 ou 3. Les nombres que vous ne listez pas reçoivent un poids de zéro et ne sont jamais tirés.
Quelle notation de dés est prise en charge ?
3d6 lance trois dés à six faces. Ajoutez un modificateur avec 3d6+2. Conservez ou écartez des dés avec kh, kl, dh, dl — ainsi 2d20kh1 conserve le plus élevé de deux d20 (avantage) et 4d6dl1 écarte le plus faible de quatre d6.