Online Generator Willekeurige Getallen

Acrafto Team Wiskunde
Bijgewerkt
Snelle presets
Alles draait in je browser. Er verlaat nooit een getal je apparaat.

Hoe werkt de generator voor willekeurige getallen?

De generator biedt twee bronnen van willekeur, en u kiest welke bij de taak past.

Veilig willekeurig haalt entropie uit uw besturingssysteem via de Web Crypto API (crypto.getRandomValues()). Het is onvoorspelbaar en niet herhaalbaar — de juiste keuze voor een echte trekking waarbij niemand de uitkomst vooraf mag kunnen raden.

Seeded zet elke tekst die u typt om in een startstatus voor een deterministische generator (xoshiro128**). Dezelfde seed levert altijd dezelfde getallen op, zodat iedereen uw trekking kan herhalen en kan bevestigen dat u kreeg wat u zegt te hebben gekregen.

Beide werken volledig in uw browser. Er wordt nooit een getal naar een server gestuurd.

Geen modulo bias

De meeste eenvoudige generators projecteren een willekeurige 32-bits waarde op uw bereik met value % range. Wanneer het bereik niet gelijkmatig in 2³² deelt, komen de laagste getallen iets vaker voor dan de rest. Over duizenden trekkingen is dat meetbaar.

Deze generator gebruikt in plaats daarvan rejection sampling: waarden die in de ongelijke staart zouden vallen, worden weggegooid en opnieuw getrokken. Elk getal in uw bereik heeft precies dezelfde kans. U kunt dit zelf verifiëren met de ingebouwde uniformiteitstest.

Wat de generator kan

Bereik

  • Minimum en maximum — elk geheel of decimaal bereik, negatieve waarden inbegrepen
  • Aantal getallen — van 1 tot 1.000.000 in één trekking
  • Geen herhalingen — elk getal verschijnt hooguit één keer, zoals bij een echte trekking
  • Sorteren — trekkingsvolgorde, oplopend of aflopend; sorteren raakt de willekeur nooit aan
  • Stap — beperk resultaten tot veelvouden van een waarde, zodat alleen 0, 5, 10, 15 voorkomen
  • Getallen uitsluiten — geef waarden op die nooit getrokken mogen worden

Modus

  • Bron van willekeur — veilig (Web Crypto) of seeded (herhaalbaar)
  • Seed — willekeurige tekst; dezelfde seed herhaalt altijd dezelfde trekking
  • Verdeling — uniform, normaal (Gauss), exponentieel, Poisson, driehoekig, binomiaal
  • Gewichten — geef gekozen getallen een hogere kans, geschreven als number:weight
  • Dobbelsteennotatie3d6+2, d20, 2d20kh1 voor voordeel, 4d6dl1 voor het rollen van statwaarden

Uitvoer

  • Scheidingsteken — komma, spatie, puntkomma, tab, nieuwe regel, of iets zelf getypt
  • Talstelsel — decimaal, binair, octaal, hexadecimaal of grondtal 36
  • Opvullen met nullen — maak van 7 een 007 voor ticket- of ID-nummers
  • Voorvoegsel en achtervoegsel — omwikkel elk getal met vaste tekst
  • Sjabloon{n} is het getal, {i} de positie ervan, dus user{n} wordt user42
  • Kopiëren als — platte tekst, CSV, JSON, of een Markdown-tabel

Statistieken

Elke trekking wordt live samengevat: som, gemiddelde, mediaan, laagste, hoogste, standaardafwijking, plus hoeveel resultaten even, oneven of priem zijn. Een histogram toont de vorm van de verdeling, en een chi-kwadraattoets vertelt u of de resultaten daadwerkelijk overeenkomen met een uniforme verdeling.

Geschiedenis

De laatste 50 trekkingen worden in uw browser bewaard, samen met de instellingen waarmee ze zijn gemaakt — één klik herstelt elk van hen. Configuraties die u vaak gebruikt, kunnen worden opgeslagen als benoemde presets, en het geheel exporteert naar een JSON-bestand dat u op een andere machine kunt importeren. Er wordt niets ergens anders opgeslagen dan in deze browser.

Toetsenbord

Druk op Spatie of R om opnieuw te trekken zonder de muis te pakken.

Snelle presets

PresetBereikAantalGebruik
🎲 Dobbelsteen1–61Bordspellen, beslissen
🪙 Munt0–11Kop of munt
🎰 Loterij1–496Uniek, gesorteerd, zoals een echte trekking
💯 1–1001–1001Percentages, A/B-splitsingen
🔢 PIN0–94Vier cijfers, herhalingen toegestaan

Herhaalbare trekkingen

Seeded modus bestaat voor de momenten waarop “vertrouw me, het was willekeurig” niet volstaat.

Kies een seed waar iedereen het vooraf over eens kan worden — een datum, een hashtag, de slotkoers van iets publieks — en kondig deze aan vóór de trekking. Iedereen kan dan dezelfde seed met dezelfde instellingen typen en hetzelfde resultaat krijgen. U heeft niet bewezen dat de getallen onvoorspelbaar waren; u heeft bewezen dat u niet opnieuw heeft getrokken totdat het antwoord u beviel.

Zo maakt u willekeur ook herhaalbaar in werk dat gecontroleerd moet kunnen worden: een steekproefplan dat een collega opnieuw kan uitvoeren, een set testfixtures die stabiel blijft binnen een testsuite, een klasoefening waarbij elke leerling dezelfde “willekeurige” gegevens krijgt.

Een verdeling kiezen

Uniform geeft elk getal in het bereik dezelfde kans. Het is wat mensen doorgaans bedoelen met willekeurig, en het is de standaard.

De andere verdelingen laten resultaten rond een waarde clusteren, wat reële grootheden vaak doen:

  • Normaal (Gauss) — lengtes, meetfouten, testscores. Stel een gemiddelde en een standaardafwijking in.
  • Exponentieel — wachttijden tussen onafhankelijke gebeurtenissen.
  • Poisson — aantallen gebeurtenissen in een vast interval: aankomsten per uur, defecten per batch.
  • Driehoekig — wanneer u het minimum, maximum en de meest waarschijnlijke waarde kent, maar verder niets. Gangbaar bij projectramingen.
  • Binomiaal — successen uit een vast aantal pogingen bij een vaste kans.

Elke verdeling wordt afgekapt tot het bereik dat u instelt, zodat een lange Gauss-staart nooit buiten uw minimum en maximum kan komen.

Waar willekeurige getallen worden gebruikt

Spellen en entertainment

  • Bordspellen — dobbelstenen, beurtvolgorde
  • Tabletop-RPG’s4d6dl1 voor karaktereigenschappen, 2d20kh1 voor voordeel
  • Weggeefacties — een winnaar kiezen, met een seed zodat deelnemers kunnen verifiëren
  • Quizzen — willekeurige vraagvolgorde

Statistiek en wetenschap

  • Steekproeftrekking — een steekproef uit een populatie trekken zonder herhaling
  • A/B-testen — deelnemers aan groepen toewijzen
  • Monte-Carlosimulatie — waarschijnlijkheid schatten door herhaling
  • Bootstrapping — resamplen om onzekerheid te schatten

Ontwikkeling

  • Testdata — een miljoen waarden, gegenereerd op de achtergrond zodat de pagina responsief blijft
  • Fixtures — seeded, zodat een falende test twee keer op dezelfde manier faalt
  • Willekeurige ID’s — met opvulling, voorvoegsels of een sjabloon
  • Load testing — sjabloon-identifiers zoals user{n}@example.com

Echte versus pseudo-willekeurige getallen

Math.random()crypto.getRandomValues()Seeded (xoshiro128**)
TypePseudo-willekeurigCryptografisch veiligPseudo-willekeurig, deterministisch
EntropiebronDoor engine gekozen seedSysteem-CSPRNGUw seedtekst
Voorspelbaar?MogelijkNeeJa, per ontwerp
Herhaalbaar?NeeNeeAltijd
Geschikt voor beveiligingNeeJaNee
Geschikt voor statistiekAfhankelijkJaJa
Geschikt voor verifieerbare trekkingenNeeNeeJa

Math.random() wordt nergens in deze tool gebruikt.

Trekkingen zonder herhaling

Met Geen herhalingen ingeschakeld verschijnt elk getal in het bereik hooguit één keer. Ideaal voor:

  • Weggeefacties — niemand kan twee keer winnen
  • Permutaties — een set items door elkaar schudden
  • Bingo — getallen oproepen die opgeroepen blijven
  • Loterij — zes verschillende getallen van 1 tot 49

De trekking gebruikt een gedeeltelijke Fisher-Yates-shuffle, zodat het vragen om 6 getallen uit een miljoen even snel is als vragen om 6 uit 49 — er wordt nooit geloopt in de hoop een botsing te vermijden. Vraagt u om meer unieke getallen dan het bereik kan leveren, dan meldt de generator dit in plaats van vast te lopen.

Resultaten exporteren

Kopieer de getallen als platte tekst met elk gewenst scheidingsteken, als CSV voor een spreadsheet, als JSON voor code, of als een Markdown-tabel voor documentatie. Zeer grote trekkingen blijven volledig in het geheugen en worden volledig gekopieerd, ook al worden er maar een paar duizend op het scherm getekend.

Willekeurige getallen genereren in uw eigen code

JavaScript / TypeScript

// Cryptografisch veilig geheel getal in [min, max], zonder modulo bias.
// De naïeve `value % range` bevoordeelt lage getallen wanneer range niet
// gelijkmatig in 2**32 deelt - daarom wijzen we waarden in de ongelijke staart af.
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

# Cryptografisch veilig, geen modulo bias
n = secrets.randbelow(max - min + 1) + min

# Herhaalbaar: dezelfde seed geeft altijd dezelfde reeks
rng = random.Random('my-seed')
n = rng.randint(min, max)

# Zonder herhaling
sample = random.sample(range(min, max + 1), count)

PHP

// Cryptografisch veilig (PHP 7+), geen modulo bias
$n = random_int($min, $max);

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

Veelgestelde vragen (FAQ)

Is het resultaat echt willekeurig? In veilige modus, ja. Het komt van crypto.getRandomValues(), een cryptografisch veilige generator gevoed door de entropiepool van uw besturingssysteem. Resultaten zijn uniform verdeeld en onvoorspelbaar. Seeded modus is doelbewust het tegenovergestelde: herhaalbaar, en dat is precies de bedoeling.
Hoeveel getallen kan ik in één keer genereren? Tot 1.000.000. Trekkingen boven 50.000 worden berekend in een achtergrondworker zodat de pagina responsief blijft, en het scherm toont de eerste 2.000 met een telling van de rest — kopiëren geeft u nog steeds alles.
Kan ik negatieve getallen genereren? Ja. Stel een negatief minimum in. Het volledige bereik van JavaScript-getallen werkt, inclusief negatieve bereiken aan beide kanten.
Beïnvloedt sorteren de willekeur? Nee. Getallen worden eerst getrokken en daarna gesorteerd. Sorteren verandert alleen de volgorde waarin u ze ziet.
Levert dezelfde seed morgen dezelfde getallen op? Ja, en op elk ander apparaat of in elke andere browser. De seeded generator is volledig deterministisch en hangt van niets anders af dan uw seed en instellingen.
Wat vertelt de uniformiteitstest mij? Deze voert een chi-kwadraattoets uit die vergelijkt hoe vaak elk getal daadwerkelijk voorkwam met hoe vaak dat zou moeten. Blijft de toetsingsgrootheid onder de kritieke waarde, dan zijn de resultaten consistent met een uniforme verdeling. Er is een redelijk smal bereik en genoeg trekkingen nodig — minstens vijf per mogelijke waarde — om iets zinnigs te kunnen zeggen.
Hoe werken gewichten? Schrijf ze als number:weight-paren, bijvoorbeeld 1:5, 2:1, 3:1. Hier is 1 vijf keer zo waarschijnlijk als 2 of 3. Getallen die u niet vermeldt, krijgen een gewicht van nul en worden nooit getrokken.
Welke dobbelsteennotatie wordt ondersteund? 3d6 rolt drie zeszijdige dobbelstenen. Voeg een modifier toe met 3d6+2. Behoud of verwijder dobbelstenen met kh, kl, dh, dl — zo behoudt 2d20kh1 de hoogste van twee d20's (voordeel) en verwijdert 4d6dl1 de laagste van vier d6's.
Wordt mijn geschiedenis ergens opgeslagen? Alleen in deze browser, in local storage. Ze bereikt nooit een server, synchroniseert nooit naar een ander apparaat, en verdwijnt als u uw sitegegevens wist. Exporteer naar JSON als u ze wilt bewaren of verplaatsen.

Ik zou het waarderen als je deze pagina's zou delen met vrienden, als bladwijzer opslaat of ernaar linkt. Bedankt! 🙏