Online Tilfældighedsgenerator
Fordeling af resultater
Test for ensartethed
Træk flere tal i et snævrere interval for at køre testen.
Seneste trækninger
Gemte forslag
Sådan fungerer tilfældighedsgeneratoren
Generatoren giver dig to kilder til tilfældighed, og du vælger selv, hvilken der passer til opgaven.
Sikker tilfældighed henter entropi fra dit styresystem via Web Crypto API’et (crypto.getRandomValues()). Den er uforudsigelig og kan ikke gentages — det rette valg til en ægte lodtrækning, hvor ingen skal kunne gætte resultatet på forhånd.
Seed-baseret omdanner en vilkårlig tekst, du skriver, til en starttilstand for en deterministisk generator (xoshiro128**). Den samme seed giver altid de samme tal, så alle kan gentage din trækning og bekræfte, at resultatet er, som du siger.
Begge dele foregår udelukkende i din browser. Intet tal sendes nogensinde til en server.
Ingen modulo-bias
De fleste simple generatorer afbilder en tilfældig 32-bit værdi på dit interval med value % range. Når intervallet ikke går lige op i 2³², forekommer de laveste tal en anelse oftere end resten. Over tusindvis af træk kan det måles.
Denne generator bruger i stedet rejection sampling: værdier, der ville falde i den ujævne hale, kasseres og trækkes igen. Hvert tal i dit interval har præcis samme chance. Du kan selv verificere det med den indbyggede uniformitetstest.
Hvad generatoren kan
Interval
- Minimum og maksimum — ethvert helt eller decimalt interval, inklusive negative værdier
- Antal tal — fra 1 op til 1.000.000 i ét træk
- Ingen gentagelser — hvert tal optræder højst én gang, ligesom i en ægte lodtrækning
- Sortering — trækrækkefølge, stigende eller faldende; sortering påvirker aldrig tilfældigheden
- Trin — begræns resultater til multipla af en værdi, så kun 0, 5, 10, 15 kommer frem
- Udelad tal — angiv værdier, der aldrig må trækkes
Tilstand
- Kilde til tilfældighed — sikker (Web Crypto) eller seed-baseret (reproducerbar)
- Seed — vilkårlig tekst; den samme seed genskaber altid samme træk
- Fordeling — ensartet, normal (Gauss), eksponentiel, Poisson, triangulær, binomial
- Vægte — giv udvalgte tal en højere chance, skrevet som
number:weight - Terningnotation —
3d6+2,d20,2d20kh1for advantage,4d6dl1for at slå egenskaber
Output
- Separator — komma, mellemrum, semikolon, tabulator, linjeskift eller hvad som helst, du skriver
- Talsystem — decimal, binær, oktal, hexadecimal eller base 36
- Udfyld med nuller — gør 7 til 007 til billet- eller ID-numre
- Præfiks og suffiks — omslut hvert tal med fast tekst
- Skabelon —
{n}er tallet,{i}dets position, såuser{n}bliver tiluser42 - Kopiér som — almindelig tekst, CSV, JSON eller en Markdown-tabel
Statistik
Hvert træk opsummeres i realtid: sum, gennemsnit, median, laveste, højeste, standardafvigelse, samt hvor mange resultater der er lige, ulige eller primtal. Et histogram viser fordelingens form, og en chi-i-anden-test fortæller dig, om resultaterne rent faktisk stemmer overens med en ensartet fordeling.
Historik
De sidste 50 træk gemmes i din browser sammen med de indstillinger, der frembragte dem — ét klik gendanner et hvilket som helst af dem. Konfigurationer, du bruger ofte, kan gemmes som navngivne forvalg, og det hele kan eksporteres til en JSON-fil, du kan importere på en anden maskine. Intet gemmes andre steder end i denne browser.
Tastatur
Tryk på mellemrum eller R for at trække igen uden at røre musen.
Hurtige forvalg
| Forvalg | Interval | Antal | Anvendelse |
|---|---|---|---|
| 🎲 Terning | 1–6 | 1 | Brætspil, beslutninger |
| 🪙 Mønt | 0–1 | 1 | Plat eller krone |
| 🎰 Lotteri | 1–49 | 6 | Unikke, sorterede, som i en ægte lodtrækning |
| 💯 1–100 | 1–100 | 1 | Procenter, A/B-opdelinger |
| 🔢 PIN | 0–9 | 4 | Fire cifre, gentagelser tilladt |
Reproducerbare træk
Seed-tilstand findes til de øjeblikke, hvor “stol på mig, det var tilfældigt” ikke er nok.
Vælg en seed, alle kan blive enige om på forhånd — en dato, et hashtag, lukkekursen på noget offentligt — og annoncér den, før du trækker. Alle kan derefter indtaste den samme seed med de samme indstillinger og få det identiske resultat. Du har ikke bevist, at tallene var uforudsigelige; du har bevist, at du ikke trak om, indtil du fik et svar, du kunne lide.
Det er også sådan, du gør tilfældighed gentagelig i arbejde, der skal kunne kontrolleres: en samplingplan, en kollega kan køre igen, et sæt testfixtures, der forbliver stabilt gennem en testsuite, en klasseøvelse, hvor alle elever får de samme “tilfældige” data.
Valg af fordeling
Ensartet giver alle tal i intervallet samme chance. Det er, hvad folk normalt mener med tilfældigt, og det er standardvalget.
De andre samler resultaterne omkring en værdi, hvilket er, hvad størrelser i den virkelige verden har en tendens til at gøre:
- Normal (Gauss) — højder, målefejl, testresultater. Indstil et gennemsnit og en standardafvigelse.
- Eksponentiel — ventetider mellem uafhængige hændelser.
- Poisson — antal hændelser i et fast interval: ankomster pr. time, defekter pr. parti.
- Triangulær — når du kender minimum, maksimum og den mest sandsynlige værdi, men ellers intet. Almindeligt i projektestimater.
- Binomial — antal succeser ud af et fast antal forsøg med en fast sandsynlighed.
Enhver fordeling beskæres til det interval, du har angivet, så en lang Gauss-hale ikke kan undslippe dit minimum og maksimum.
Hvor tilfældige tal bruges
Spil og underholdning
- Brætspil — terningkast, rækkefølge
- Bordrollespil —
4d6dl1til egenskabsværdier,2d20kh1til advantage - Konkurrencer — udvælgelse af en vinder, med en seed så deltagerne kan verificere det
- Quizzer — tilfældig spørgsmålsrækkefølge
Statistik og videnskab
- Sampling — udtræk af en stikprøve fra en population uden gentagelser
- A/B-test — fordeling af deltagere i grupper
- Monte Carlo-simulation — estimering af sandsynlighed ved gentagelse
- Bootstrapping — resampling til estimering af usikkerhed
Udvikling
- Testdata — en million værdier genereret i baggrunden, så siden forbliver responsiv
- Fixtures — seed-baseret, så en fejlende test fejler på samme måde hver gang
- Tilfældige ID’er — med udfyldning, præfikser eller en skabelon
- Belastningstest — skabelonbaserede identifikatorer som
user{n}@example.com
Ægte vs. pseudotilfældige tal
Math.random() | crypto.getRandomValues() | Seed-baseret (xoshiro128**) | |
|---|---|---|---|
| Type | Pseudotilfældig | Kryptografisk sikker | Pseudotilfældig, deterministisk |
| Entropikilde | Motorvalgt frø | System-CSPRNG | Din seed-tekst |
| Forudsigelig? | Potentielt | Nej | Ja, med vilje |
| Gentagelig? | Nej | Nej | Altid |
| Egnet til sikkerhed | Nej | Ja | Nej |
| Egnet til statistik | Afhænger | Ja | Ja |
| Egnet til verificerbare træk | Nej | Nej | Ja |
Math.random() bruges ikke nogen steder i dette værktøj.
Træk uden gentagelse
Med Ingen gentagelser aktiveret optræder hvert tal i intervallet højst én gang. Ideelt til:
- Konkurrencer — ingen kan vinde to gange
- Permutationer — blanding af et sæt elementer
- Banko — udråbte tal, der forbliver udråbt
- Lotteri — seks forskellige tal fra 1 til 49
Trækket bruger en delvis Fisher–Yates-blanding, så det er lige så hurtigt at bede om 6 tal ud af en million som om 6 ud af 49 — den løber aldrig i ring i håb om at undgå en kollision. Hvis du beder om flere unikke tal, end intervallet kan levere, siger generatoren fra i stedet for at hænge.
Eksport af resultater
Kopiér tallene som almindelig tekst med en vilkårlig separator, som CSV til et regneark, som JSON til kode eller som en Markdown-tabel til dokumentation. Meget store træk forbliver fuldt ud i hukommelsen og kopieres fuldt ud, selvom kun de første par tusind vises på skærmen.
Generering af tilfældige tal i din egen kode
JavaScript / TypeScript
// Kryptografisk sikkert heltal i [min, max], uden modulo-bias.
// Den naive `value % range` favoriserer lave tal, når intervallet
// ikke går lige op i 2**32 - derfor kasserer vi værdier i den ujævne hale.
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
# Kryptografisk sikkert, ingen modulo-bias
n = secrets.randbelow(max - min + 1) + min
# Reproducerbart: den samme seed giver altid den samme sekvens
rng = random.Random('my-seed')
n = rng.randint(min, max)
# Uden gentagelse
sample = random.sample(range(min, max + 1), count)
PHP
// Kryptografisk sikkert (PHP 7+), ingen modulo-bias
$n = random_int($min, $max);
// Reproducerbart
mt_srand(crc32('my-seed'));
$n = mt_rand($min, $max);
Ofte stillede spørgsmål (FAQ)
Er resultatet virkelig tilfældigt?
I sikker tilstand, ja. Det kommer fracrypto.getRandomValues(), en kryptografisk sikker generator, der fødes af dit styresystems entropipulje. Resultaterne er ensartet fordelt og uforudsigelige. Seed-tilstand er bevidst det modsatte: den er reproducerbar, og det er hele pointen.
Hvor mange tal kan jeg generere ad gangen?
Op til 1.000.000. Træk over 50.000 beregnes i en baggrundsworker, så siden forbliver responsiv, og skærmen viser de første 2.000 med et antal af resten — kopiering giver dig stadig det hele.Kan jeg generere negative tal?
Ja. Angiv et negativt minimum. Hele intervallet af JavaScript-tal fungerer, inklusive negative intervaller i begge ender.Påvirker sortering tilfældigheden?
Nej. Tallene trækkes først og sorteres bagefter. Sortering ændrer kun den rækkefølge, du ser dem i.Vil den samme seed give de samme tal i morgen?
Ja, og på enhver anden enhed eller browser. Den seed-baserede generator er fuldt deterministisk og afhænger kun af din seed og dine indstillinger.Hvad fortæller uniformitetstesten mig?
Den kører en chi-i-anden-test, der sammenligner, hvor ofte hvert tal faktisk kom op, med hvor ofte det burde have gjort. Hvis teststatistikken forbliver under den kritiske værdi, er resultaterne i overensstemmelse med en ensartet fordeling. Den kræver et rimeligt snævert interval og nok træk — mindst fem pr. mulig værdi — for at sige noget meningsfuldt.Hvordan fungerer vægte?
Skriv dem somnumber:weight-par, for eksempel 1:5, 2:1, 3:1. Her er 1 fem gange så sandsynligt som 2 eller 3. Tal, du ikke angiver, får en vægt på nul og trækkes aldrig.
Hvilken terningnotation understøttes?
3d6 kaster tre sekssidede terninger. Tilføj en modifikator med 3d6+2. Behold eller kassér terninger med kh, kl, dh, dl — så 2d20kh1 beholder den højeste af to d20'er (advantage), og 4d6dl1 kasserer den laveste af fire d6'er.