Tilfeldig tallgenerator online
Fordeling av resultater
Uniformitetstest
Trekk flere tall i et smalere område for å kjøre testen.
Nylige trekninger
Lagrede hurtigvalg
Hvordan fungerer den tilfeldige tallgeneratoren?
Generatoren gir deg to kilder til tilfeldighet, og du velger den som passer oppgaven.
Sikker tilfeldighet henter entropi fra operativsystemet ditt gjennom Web Crypto API (crypto.getRandomValues()). Den er uforutsigbar og ugjentakelig — det riktige valget for en reell trekning der ingen skal kunne gjette utfallet på forhånd.
Seedet gjør om en hvilken som helst tekst du skriver, til en starttilstand for en deterministisk generator (xoshiro128**). Samme seed gir alltid samme tall, slik at hvem som helst kan gjenskape trekningen din og bekrefte at du fikk det du sier du fikk.
Begge kjører helt i nettleseren din. Ingen tall når noensinne en server.
Ingen modulo-skjevhet
De fleste enkle generatorer mapper en tilfeldig 32-bits verdi til området ditt med value % range. Når området ikke deler seg jevnt opp i 2³², kommer de laveste tallene opp litt oftere enn resten. Over tusenvis av trekninger er dette målbart.
Denne generatoren bruker i stedet rejection sampling: verdier som ville havnet i den ujevne halen, kastes og trekkes på nytt. Hvert tall i området ditt har nøyaktig samme sjanse. Du kan verifisere det selv med den innebygde uniformitetstesten.
Hva generatoren kan gjøre
Område
- Minimum og maksimum — et hvilket som helst helt eller desimalt område, negative verdier inkludert
- Hvor mange tall — fra 1 opptil 1 000 000 i én trekning
- Ingen repetisjon — hvert tall vises maksimalt én gang, slik som i en ekte trekning
- Sortering — trekkerekkefølge, stigende eller synkende; sortering påvirker aldri tilfeldigheten
- Steg — begrens resultatene til multipler av en verdi, slik at bare 0, 5, 10, 15 kommer opp
- Ekskluder tall — angi verdier som aldri skal trekkes
Modus
- Kilde til tilfeldighet — sikker (Web Crypto) eller seedet (reproduserbar)
- Seed — hvilken som helst tekst; samme seed gjenskaper alltid samme trekning
- Fordeling — uniform, normal (Gauss), eksponentiell, Poisson, triangulær, binomisk
- Vekter — gi utvalgte tall høyere sjanse, skrevet som
number:weight - Terningnotasjon —
3d6+2,d20,2d20kh1for fordel,4d6dl1for å rulle karakteregenskaper
Utdata
- Skilletegn — komma, mellomrom, semikolon, tabulator, ny linje, eller hva du selv skriver
- Tallsystem — desimal, binær, oktal, heksadesimal eller base 36
- Fyll med nuller — gjør 7 om til 007 for billett- eller ID-numre
- Prefiks og suffiks — pakk hvert tall inn i fast tekst
- Mal —
{n}er tallet,{i}posisjonen, såuser{n}bliruser42 - Kopier som — ren tekst, CSV, JSON eller en Markdown-tabell
Statistikk
Hver trekning oppsummeres direkte: sum, gjennomsnitt, median, laveste, høyeste, standardavvik, samt hvor mange resultater som er partall, oddetall eller primtall. Et histogram viser formen på fordelingen, og en kji-kvadrat-test forteller deg om resultatene faktisk samsvarer med en uniform fordeling.
Historikk
De siste 50 trekningene lagres i nettleseren din, sammen med innstillingene som produserte dem — ett klikk gjenoppretter hvilken som helst av dem. Konfigurasjoner du bruker ofte, kan lagres som navngitte forhåndsinnstillinger, og hele samlingen eksporteres til en JSON-fil du kan importere på en annen maskin. Ingenting lagres noe annet sted enn i denne nettleseren.
Tastatur
Trykk mellomrom eller R for å trekke på nytt uten å ta i musen.
Raske forhåndsinnstillinger
| Forhåndsinnstilling | Område | Antall | Bruk |
|---|---|---|---|
| 🎲 Terning | 1–6 | 1 | Brettspill, beslutninger |
| 🪙 Mynt | 0–1 | 1 | Kron eller mynt |
| 🎰 Lotteri | 1–49 | 6 | Unikt, sortert, som en ekte trekning |
| 💯 1–100 | 1–100 | 1 | Prosenter, A/B-fordeling |
| 🔢 PIN | 0–9 | 4 | Fire sifre, repetisjon tillatt |
Reproduserbare trekninger
Seedet modus finnes for de gangene «stol på meg, det var tilfeldig» ikke er nok.
Velg en seed alle kan bli enige om på forhånd — en dato, en emneknagg, sluttkursen på noe offentlig — og annonser den før du trekker. Da kan hvem som helst skrive inn samme seed med samme innstillinger og få identisk resultat. Du har ikke bevist at tallene var uforutsigbare; du har bevist at du ikke trakk på nytt til du likte svaret.
Det er også slik du gjør tilfeldighet gjentakbar i arbeid som må kunne kontrolleres: en utvalgsplan en kollega kan kjøre på nytt, et sett testdata som forblir stabilt gjennom en testpakke, en klasseromsøvelse der hver elev får de samme «tilfeldige» dataene.
Å velge en fordeling
Uniform gir hvert tall i området samme sjanse. Det er det folk vanligvis mener med tilfeldig, og det er standardvalget.
De andre samler resultatene rundt en verdi, som er hva virkelige størrelser har en tendens til å gjøre:
- Normal (Gauss) — høyder, målefeil, testresultater. Angi et gjennomsnitt og et standardavvik.
- Eksponentiell — ventetider mellom uavhengige hendelser.
- Poisson — antall hendelser i et fast intervall: ankomster per time, defekter per parti.
- Triangulær — når du vet minimum, maksimum og mest sannsynlige verdi, men ingenting annet. Vanlig i prosjektestimater.
- Binomisk — antall suksesser blant et fast antall forsøk med en fast sannsynlighet.
Hver fordeling klippes til området du har satt, slik at en lang Gauss-hale ikke kan slippe unna minimum og maksimum.
Hvor tilfeldige tall brukes
Spill og underholdning
- Brettspill — terningkast, trekkerekkefølge
- Bordrollespill —
4d6dl1for karakteregenskaper,2d20kh1for fordel - Bortgivning av premier — trekke en vinner, med en seed slik at deltakerne kan verifisere det
- Quizer — tilfeldig spørsmålsrekkefølge
Statistikk og vitenskap
- Utvalg — trekke et utvalg fra en populasjon uten repetisjon
- A/B-testing — tildele deltakere til grupper
- Monte Carlo-simulering — estimere sannsynlighet ved repetisjon
- Bootstrapping — resampling for å estimere usikkerhet
Utvikling
- Testdata — en million verdier, generert i bakgrunnen slik at siden holder seg responsiv
- Fixtures — seedet, slik at en feilende test feiler på samme måte to ganger
- Tilfeldige ID-er — med utfylling, prefikser eller en mal
- Lasttesting — malbaserte identifikatorer som
user{n}@example.com
Ekte vs. pseudo-tilfeldige tall
Math.random() | crypto.getRandomValues() | Seedet (xoshiro128**) | |
|---|---|---|---|
| Type | Pseudo-tilfeldig | Kryptografisk sikker | Pseudo-tilfeldig, deterministisk |
| Entropikilde | Motorvalgt seed | Systemets CSPRNG | Din seed-tekst |
| Forutsigbar? | Potensielt | Nei | Ja, med hensikt |
| Gjentakbar? | Nei | Nei | Alltid |
| Egnet for sikkerhet | Nei | Ja | Nei |
| Egnet for statistikk | Avhenger | Ja | Ja |
| Egnet for verifiserbare trekninger | Nei | Nei | Ja |
Math.random() brukes ikke noe sted i dette verktøyet.
Trekninger uten repetisjon
Med Ingen repetisjon aktivert vises hvert tall i området maksimalt én gang. Ideelt for:
- Bortgivning av premier — ingen kan vinne to ganger
- Permutasjoner — stokke et sett med elementer
- Bingo — trekke tall som forblir trukket
- Lotteri — seks distinkte tall fra 1 til 49
Trekningen bruker en partiell Fisher–Yates-shuffle, slik at det å be om 6 tall av en million er like raskt som å be om 6 av 49 — den løper aldri i håp om å unngå en kollisjon. Hvis du ber om flere unike tall enn området kan levere, sier generatoren fra i stedet for å henge.
Eksportere resultater
Kopier tallene som ren tekst med det skilletegnet du vil, som CSV for et regneark, som JSON for kode, eller som en Markdown-tabell for dokumentasjon. Svært store trekninger holdes i sin helhet i minnet og kopieres i sin helhet, selv om bare de første par tusen trekkes på skjermen.
Generere tilfeldige tall i din egen kode
JavaScript / TypeScript
// Kryptografisk sikkert heltall i [min, max], uten modulo-skjevhet.
// Den naive `value % range` favoriserer lave tall når området ikke
// deler 2**32 jevnt - så vi forkaster verdier i den ujevne halen.
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-skjevhet
n = secrets.randbelow(max - min + 1) + min
# Reproduserbart: samme seed gir alltid samme sekvens
rng = random.Random('my-seed')
n = rng.randint(min, max)
# Uten repetisjon
sample = random.sample(range(min, max + 1), count)
PHP
// Kryptografisk sikkert (PHP 7+), ingen modulo-skjevhet
$n = random_int($min, $max);
// Reproduserbart
mt_srand(crc32('my-seed'));
$n = mt_rand($min, $max);
Ofte stilte spørsmål (FAQ)
Er resultatet virkelig tilfeldig?
I sikker modus, ja. Det kommer fracrypto.getRandomValues(), en kryptografisk sikker generator matet av operativsystemets entropipool. Resultatene er uniformt fordelt og uforutsigbare. Seedet modus er bevisst det motsatte: den er reproduserbar, og det er hele poenget.
Hvor mange tall kan jeg generere samtidig?
Opptil 1 000 000. Trekninger over 50 000 beregnes i en bakgrunnsarbeider slik at siden holder seg responsiv, og skjermen viser de første 2 000 med et antall for resten — kopiering gir deg fortsatt alt.Kan jeg generere negative tall?
Ja. Sett et negativt minimum. Hele spekteret av JavaScript-tall fungerer, inkludert negative områder i begge ender.Påvirker sortering tilfeldigheten?
Nei. Tallene trekkes først og sorteres etterpå. Sortering endrer bare rekkefølgen du ser dem i.Vil samme seed gi samme tall i morgen?
Ja, og på en hvilken som helst annen enhet eller nettleser. Den seedede generatoren er fullstendig deterministisk og avhenger av ingenting annet enn din seed og dine innstillinger.Hva forteller uniformitetstesten meg?
Den kjører en kji-kvadrat-test som sammenligner hvor ofte hvert tall faktisk kom opp, mot hvor ofte det burde ha gjort det. Hvis statistikken holder seg under kritisk verdi, er resultatene i samsvar med en uniform fordeling. Den trenger et rimelig smalt område og nok trekninger — minst fem per mulig verdi — for å si noe meningsfullt.Hvordan fungerer vekter?
Skriv dem somnumber:weight-par, for eksempel 1:5, 2:1, 3:1. Her er 1 fem ganger så sannsynlig som 2 eller 3. Tall du ikke lister opp, får vekt null og trekkes aldri.
Hvilken terningnotasjon støttes?
3d6 kaster tre sekssidede terninger. Legg til en modifikator med 3d6+2. Behold eller forkast terninger med kh, kl, dh, dl — så 2d20kh1 beholder den høyeste av to d20-er (fordel), og 4d6dl1 forkaster den laveste av fire d6-er.