# Générateur de nombres aléatoires

> Générateur de nombres aléatoires gratuit : tirages sécurisés ou reproductibles, six distributions, poids, notation de dés. 100 % dans votre navigateur.

URL: https://acrafto.com/fr/generateur-nombres-aleatoires/  
Updated: 2026-08-28

Tools are interactive browser apps; there is no public API, no endpoints to call and no server-side processing. To use a tool, open its HTML page in a browser.

## 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`, `2d20kh1` pour l’avantage, `4d6dl1` pour 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, donc `user{n}` devient `user42`
- **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** — `4d6dl1` pour les caractéristiques, `2d20kh1` pour 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 de `crypto.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 paires `nombre: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.

### Mon historique est-il stocké quelque part ?

Uniquement dans ce navigateur, en stockage local. Il n'atteint jamais un serveur, ne se synchronise avec aucun autre appareil, et disparaît si vous effacez les données du site. Exportez-le en JSON si vous souhaitez le conserver ou le transférer.

## Other languages

- Čeština (cs): [Generátor náhodných čísel](https://acrafto.com/cs/generator-nahodnych-cisel/) ([Markdown](https://acrafto.com/cs/generator-nahodnych-cisel/index.md))
- Slovenčina (sk): [Generátor náhodných čísel](https://acrafto.com/sk/generator-nahodnych-cisel/) ([Markdown](https://acrafto.com/sk/generator-nahodnych-cisel/index.md))
- English (en): [Random Number Generator](https://acrafto.com/en/online-random-number-generator/) ([Markdown](https://acrafto.com/en/online-random-number-generator/index.md))
- Deutsch (de): [Zufallszahlen Generator](https://acrafto.com/de/zufallszahlen-generator-online/) ([Markdown](https://acrafto.com/de/zufallszahlen-generator-online/index.md))
- Español (es): [Generador de números aleatorios](https://acrafto.com/es/generador-numeros-aleatorios-online/) ([Markdown](https://acrafto.com/es/generador-numeros-aleatorios-online/index.md))
- Italiano (it): [Generatore di numeri casuali](https://acrafto.com/it/generatore-numeri-casuali/) ([Markdown](https://acrafto.com/it/generatore-numeri-casuali/index.md))
- Português (pt): [Gerador de números aleatórios](https://acrafto.com/pt/gerador-numeros-aleatorios/) ([Markdown](https://acrafto.com/pt/gerador-numeros-aleatorios/index.md))
- Nederlands (nl): [Random getal generator](https://acrafto.com/nl/generator-willekeurige-getallen/) ([Markdown](https://acrafto.com/nl/generator-willekeurige-getallen/index.md))
- Polski (pl): [Generator liczb losowych](https://acrafto.com/pl/generator-liczb-losowych-online/) ([Markdown](https://acrafto.com/pl/generator-liczb-losowych-online/index.md))
- Română (ro): [Generator numere aleatoare](https://acrafto.com/ro/generator-numere-aleatoare-online/) ([Markdown](https://acrafto.com/ro/generator-numere-aleatoare-online/index.md))
- Magyar (hu): [Véletlenszám generátor](https://acrafto.com/hu/veletlen-szam-generator/) ([Markdown](https://acrafto.com/hu/veletlen-szam-generator/index.md))
- Ελληνικά (el): [Γεννήτρια τυχαίων αριθμών](https://acrafto.com/el/generator-tychaion-arithmon-online/) ([Markdown](https://acrafto.com/el/generator-tychaion-arithmon-online/index.md))
- Български (bg): [Генератор на случайни числа](https://acrafto.com/bg/generator-sluchayni-chisla/) ([Markdown](https://acrafto.com/bg/generator-sluchayni-chisla/index.md))
- Hrvatski (hr): [Generator slučajnih brojeva](https://acrafto.com/hr/generator-nasumicnih-brojeva/) ([Markdown](https://acrafto.com/hr/generator-nasumicnih-brojeva/index.md))
- Slovenščina (sl): [Generator naključnih števil](https://acrafto.com/sl/generator-nakljucnih-stevil/) ([Markdown](https://acrafto.com/sl/generator-nakljucnih-stevil/index.md))
- Eesti (et): [Juhuslike arvude generaator](https://acrafto.com/et/juhuslike-arvude-generaator/) ([Markdown](https://acrafto.com/et/juhuslike-arvude-generaator/index.md))
- Latviešu (lv): [Gadījuma skaitļu ģenerators](https://acrafto.com/lv/gadijuma-skaitlu-generators/) ([Markdown](https://acrafto.com/lv/gadijuma-skaitlu-generators/index.md))
- Lietuvių (lt): [Atsitiktinių skaičių generatorius](https://acrafto.com/lt/atsitiktiniu-skaiciu-generatorius/) ([Markdown](https://acrafto.com/lt/atsitiktiniu-skaiciu-generatorius/index.md))
- Svenska (sv): [Slumptalsgenerator](https://acrafto.com/sv/slumptalsgenerator/) ([Markdown](https://acrafto.com/sv/slumptalsgenerator/index.md))
- Dansk (da): [Tilfældighedsgenerator](https://acrafto.com/da/tilfaeldighedsgenerator-online/) ([Markdown](https://acrafto.com/da/tilfaeldighedsgenerator-online/index.md))
- Suomi (fi): [Satunnaislukugeneraattori](https://acrafto.com/fi/satunnaislukugeneraattori/) ([Markdown](https://acrafto.com/fi/satunnaislukugeneraattori/index.md))
- Norsk (no): [Tilfeldig tallgenerator](https://acrafto.com/no/tilfeldig-tallgenerator/) ([Markdown](https://acrafto.com/no/tilfeldig-tallgenerator/index.md))
- Українська (uk): [Генератор випадкових чисел](https://acrafto.com/uk/generator-vypadkovyh-chysel/) ([Markdown](https://acrafto.com/uk/generator-vypadkovyh-chysel/index.md))
- Русский (ru): [Генератор случайных чисел](https://acrafto.com/ru/generator-sluchajnyh-chisel/) ([Markdown](https://acrafto.com/ru/generator-sluchajnyh-chisel/index.md))
- Српски (sr): [Generator nasumičnih brojeva](https://acrafto.com/sr/generator-nasumicnih-brojeva/) ([Markdown](https://acrafto.com/sr/generator-nasumicnih-brojeva/index.md))
- Македонски (mk): [Генератор на случајни броеви](https://acrafto.com/mk/generator-slucajni-broevi/) ([Markdown](https://acrafto.com/mk/generator-slucajni-broevi/index.md))
- Bosanski (bs): [Generator nasumičnih brojeva](https://acrafto.com/bs/generator-nasumicnih-brojeva/) ([Markdown](https://acrafto.com/bs/generator-nasumicnih-brojeva/index.md))
- Shqip (sq): [Gjenerator numrash të rastësishëm](https://acrafto.com/sq/gjenerator-numrash-rastesishem/) ([Markdown](https://acrafto.com/sq/gjenerator-numrash-rastesishem/index.md))
- Türkçe (tr): [Rastgele sayı üretici](https://acrafto.com/tr/rastgele-sayi-uretici/) ([Markdown](https://acrafto.com/tr/rastgele-sayi-uretici/index.md))
- 日本語 (ja): [乱数生成ツール](https://acrafto.com/ja/ransu-generator/) ([Markdown](https://acrafto.com/ja/ransu-generator/index.md))
- 한국어 (ko): [랜덤 숫자 생성기](https://acrafto.com/ko/random-number-generator/) ([Markdown](https://acrafto.com/ko/random-number-generator/index.md))
- العربية (ar): [مولد أرقام عشوائية](https://acrafto.com/ar/random-number-generator/) ([Markdown](https://acrafto.com/ar/random-number-generator/index.md))
- हिन्दी (hi): [रैंडम नंबर जनरेटर](https://acrafto.com/hi/random-number-generator/) ([Markdown](https://acrafto.com/hi/random-number-generator/index.md))
- Bahasa Indonesia (id): [Generator angka acak](https://acrafto.com/id/generator-angka-acak-online/) ([Markdown](https://acrafto.com/id/generator-angka-acak-online/index.md))
- Tiếng Việt (vi): [Tạo số ngẫu nhiên](https://acrafto.com/vi/cong-cu-tao-so-ngau-nhien/) ([Markdown](https://acrafto.com/vi/cong-cu-tao-so-ngau-nhien/index.md))
- ไทย (th): [สุ่มตัวเลข](https://acrafto.com/th/random-number-generator/) ([Markdown](https://acrafto.com/th/random-number-generator/index.md))
- עברית (he): [מחולל מספרים אקראיים](https://acrafto.com/he/random-number-generator/) ([Markdown](https://acrafto.com/he/random-number-generator/index.md))
