PK Systems PK Systems
Generatoren

Willekeurige-getallen-generator

Kies getallen in elk bereik — met of zonder duplicaten, gesorteerd of geschud, copy-paste-klaar.

Willekeurige-getallen-generator

Resultaat

Wat doet deze tool

Genereert willekeurige gehele getallen in elk gewenst bereik, in elke hoeveelheid van 1 tot 10.000. Schakel duplicaten in of uit (uit voor lotereiachtige unieke trekkingen, aan voor het simuleren van dobbel- of muntreeksen), kies of je de uitvoer oplopend sorteert of geschud laat, en kies het gewenste formaat — één getal per regel, kommagescheiden voor spreadsheets, met spaties voor snel plakken in een CLI, of als JavaScript-arrayletteral voor code. De willekeurigheid is correct uniform: we gebruiken crypto.getRandomValues() met rejection sampling om de modulo-bias weg te halen die Math.random() % range introduceert. Voor unieke trekkingen over dichte bereiken voeren we een gedeeltelijke Fisher-Yates-shuffle uit; voor ijle bereiken een hash-set met retries. Het hele ding draait lokaal — geen upload, geen logging, geen rate limits.

Hoe gebruik je het

Stel een min en een max in — die mogen negatief, nul of alles ertussen zijn. Stel in hoeveel getallen je nodig hebt. Beslis of duplicaten zijn toegestaan (uit voor verlotingen, aan voor herhaalde worpen). Beslis of je de uitvoer oplopend wilt sorteren. Kies een formaat: regels, komma, spatie of array. Druk op Genereren. Het resultaat verschijnt in het paneel; vraag je om één getal, dan toont het groot; bij meerdere verschijnt het in een scrollbaar codeblok. Druk op Kopiëren om alles naar je klembord te sturen. Opnieuw uitvoeren met dezelfde instellingen levert telkens een nieuwe trekking op — er is geen seed.

Hoe de randomness werkt

Elke trekking sampelt een 32-bits geheel getal uit crypto.getRandomValues() en verwerpt elke trekking boven floor(2^32 / range) * range. De geaccepteerde trekking modulo range plus min is je getal — bewijsbaar uniform over het hele bereik. Voor unieke trekkingen gebruiken we één van twee strategieën: als het bereik dicht genoeg is (≤ 200.000 waarden), materialiseren we de volledige pool en passen we een gedeeltelijke Fisher-Yates-shuffle toe op de eerste count elementen — dat is O(count), niet O(range). Als het bereik ijl en groot is, gebruiken we een hash-set met retries — begrensd door de limiet van 10.000 zodat retries nooit ontploffen. Sorteren (indien aan) is een laatste oplopende doorloop.

Veelvoorkomende instellingen

Een paar voorbeeldcombinaties om je op weg te helpen.

Gebruik Instellingen
Lotgetallen (5/49)Min 1, max 49, aantal 5, duplicaten uit, sorteren aan
Muntreeks (10 worpen)Min 0, max 1, aantal 10, duplicaten aan
Willekeurige kleurbyteMin 0, max 255, aantal 1
3 winnaars trekken uit 100Min 1, max 100, aantal 3, duplicaten uit

Veelgestelde vragen

Is het echt willekeurig?
Ja — verifieerbaar uniform. We gebruiken crypto.getRandomValues() met rejection sampling, de standaard CSPRNG-aanpak voor onbevooroordeelde gehele bereiken.
Waarom om meer unieken vragen dan het bereik toelaat?
De tool vangt dat op en toont een foutmelding — je kunt geen 10 unieke getallen trekken uit een bereik van 5. Zet duplicaten aan of vergroot het bereik.
Kan ik de RNG seeden?
Nee. CSPRNG's kunnen per ontwerp niet geseed worden voor reproduceerbaarheid — dat zou de veiligheidsgarantie tenietdoen. Heb je reproduceerbare "willekeurige" output nodig voor tests, gebruik dan een seedbare PRNG-bibliotheek in code.
Wat is het maximale aantal?
10.000 per run. Daarboven wordt de uitvoer onhandelbaar in de browser; voor grotere trekkingen kun je de tool een paar keer uitvoeren of ze server-side genereren.
Werkt het met negatieve getallen?
Ja. Min en max mogen elk geheel getal zijn, positief of negatief. Het bereik is max − min + 1, dus zorg dat max ≥ min.
Wordt er iets over het netwerk verzonden?
Nee. Genereren gebeurt in je browser. De uitvoer blijft lokaal totdat je hem kopieert.