Zufallszahlen-Generator online

Acrafto Team Mathematik
Aktualisiert
Schnellauswahl
Alles läuft in Ihrem Browser. Keine Zahl verlässt jemals Ihr Gerät.

Wie funktioniert der Zufallszahlen-Generator?

Der Generator bietet Ihnen zwei Quellen für Zufälligkeit – Sie entscheiden, welche zur jeweiligen Aufgabe passt.

Sicherer Zufall bezieht Entropie über die Web Crypto API (crypto.getRandomValues()) direkt aus Ihrem Betriebssystem. Er ist unvorhersehbar und nicht wiederholbar – die richtige Wahl für eine echte Ziehung, bei der niemand das Ergebnis im Voraus erraten können soll.

Mit Seed verwandelt einen beliebigen von Ihnen eingegebenen Text in den Startzustand eines deterministischen Generators (xoshiro128**). Derselbe Seed erzeugt immer dieselben Zahlen, sodass jeder Ihre Ziehung nachvollziehen und bestätigen kann, dass das Ergebnis stimmt.

Beide laufen vollständig in Ihrem Browser. Keine Zahl gelangt jemals an einen Server.

Kein Modulo-Bias

Die meisten einfachen Generatoren bilden einen zufälligen 32-Bit-Wert mit value % range auf Ihren Bereich ab. Teilt sich der Bereich nicht gleichmäßig durch 2³², kommen die niedrigsten Zahlen etwas häufiger vor als der Rest. Über Tausende Ziehungen hinweg ist das messbar.

Dieser Generator verwendet stattdessen Rejection Sampling: Werte, die in den ungleichmäßigen Rest fallen würden, werden verworfen und neu gezogen. Jede Zahl in Ihrem Bereich hat exakt die gleiche Chance. Sie können das mit dem integrierten Gleichverteilungstest selbst überprüfen.

Was der Generator kann

Bereich

  • Minimum und Maximum – beliebiger Ganzzahl- oder Dezimalbereich, negative Werte eingeschlossen
  • Anzahl der Zahlen – von 1 bis zu 1.000.000 in einer Ziehung
  • Keine Wiederholungen – jede Zahl erscheint höchstens einmal, wie bei einer echten Ziehung
  • Sortierung – Ziehungsreihenfolge, aufsteigend oder absteigend; die Sortierung verändert die Zufälligkeit nie
  • Schrittweite – beschränkt die Ergebnisse auf Vielfache eines Werts, sodass nur 0, 5, 10, 15 vorkommen
  • Zahlen ausschließen – Werte auflisten, die niemals gezogen werden dürfen

Modus

  • Zufallsquelle – sicher (Web Crypto) oder mit Seed (reproduzierbar)
  • Seed – beliebiger Text; derselbe Seed reproduziert immer dieselbe Ziehung
  • Verteilung – Gleichverteilung, Normal (Gauß), Exponential, Poisson, Dreieck, Binomial
  • Gewichtungen – bestimmten Zahlen eine höhere Chance geben, geschrieben als number:weight
  • Würfelnotation3d6+2, d20, 2d20kh1 für Vorteil (Advantage), 4d6dl1 für das Auswürfeln von Attributen

Ausgabe

  • Trennzeichen – Komma, Leerzeichen, Semikolon, Tabulator, Zeilenumbruch oder ein beliebiger eigener Text
  • Zahlensystem – dezimal, binär, oktal, hexadezimal oder Basis 36
  • Mit Nullen auffüllen – aus 7 wird 007, für Ticket- oder ID-Nummern
  • Präfix und Suffix – jede Zahl in festen Text einbetten
  • Vorlage (Template){n} ist die Zahl, {i} ihre Position, aus user{n} wird so user42
  • Kopieren als – reiner Text, CSV, JSON oder eine Markdown-Tabelle

Statistik

Jede Ziehung wird live ausgewertet: Summe, Mittelwert, Median, kleinster und größter Wert, Standardabweichung sowie die Anzahl gerader, ungerader und Primzahl-Ergebnisse. Ein Histogramm zeigt die Form der Verteilung, und ein Chi-Quadrat-Test verrät Ihnen, ob die Ergebnisse tatsächlich einer Gleichverteilung entsprechen.

Verlauf

Die letzten 50 Ziehungen werden zusammen mit den zugehörigen Einstellungen in Ihrem Browser gespeichert – ein Klick stellt jede davon wieder her. Häufig genutzte Konfigurationen lassen sich als benannte Presets speichern, und alles zusammen exportiert sich in eine JSON-Datei, die Sie auf einem anderen Gerät importieren können. Gespeichert wird nirgendwo außer in diesem Browser.

Tastatur

Drücken Sie Leertaste oder R, um erneut zu ziehen, ohne die Maus zu benutzen.

Schnelle Voreinstellungen

VoreinstellungBereichAnzahlVerwendung
🎲 Würfel1–61Brettspiele, Entscheidungen
🪙 Münze0–11Kopf oder Zahl
🎰 Lotto1–496Eindeutig, sortiert, wie bei einer echten Ziehung
💯 1–1001–1001Prozentwerte, A/B-Aufteilungen
🔢 PIN0–94Vier Stellen, Wiederholungen erlaubt

Reproduzierbare Ziehungen

Der Modus mit Seed ist für die Momente gedacht, in denen „vertrau mir, das war zufällig” nicht ausreicht.

Wählen Sie einen Seed, auf den sich alle vorher einigen können – ein Datum, ein Hashtag, der Schlusskurs von etwas Öffentlichem – und geben Sie ihn vor der Ziehung bekannt. Jeder kann dann denselben Seed mit denselben Einstellungen eingeben und erhält das identische Ergebnis. Damit ist nicht bewiesen, dass die Zahlen unvorhersehbar waren – bewiesen ist, dass Sie nicht so lange neu gewürfelt haben, bis Ihnen das Ergebnis gefiel.

So machen Sie Zufälligkeit auch in Arbeiten reproduzierbar, die überprüfbar sein müssen: einen Stichprobenplan, den ein Kollege erneut ausführen kann, einen Satz von Testfixtures, der über eine Testsuite hinweg stabil bleibt, oder eine Unterrichtsübung, bei der jeder Schüler dieselben „zufälligen” Daten erhält.

Die richtige Verteilung wählen

Gleichverteilung gibt jeder Zahl im Bereich die gleiche Chance. Das meinen die meisten Menschen mit „zufällig”, und es ist die Standardeinstellung.

Die anderen Verteilungen häufen Ergebnisse um einen Wert – so wie es reale Größen häufig tun:

  • Normal (Gauß) – Körpergrößen, Messfehler, Testergebnisse. Mittelwert und Standardabweichung festlegen.
  • Exponential – Wartezeiten zwischen unabhängigen Ereignissen.
  • Poisson – Anzahl von Ereignissen in einem festen Intervall: Ankünfte pro Stunde, Defekte pro Charge.
  • Dreieck – wenn Sie Minimum, Maximum und den wahrscheinlichsten Wert kennen, aber sonst nichts. Häufig bei Projektschätzungen.
  • Binomial – Erfolge bei einer festen Anzahl von Versuchen mit fester Wahrscheinlichkeit.

Jede Verteilung wird auf den von Ihnen festgelegten Bereich begrenzt, sodass ein langer Gauß-Ausläufer nicht über Ihr Minimum und Maximum hinausgehen kann.

Wo Zufallszahlen eingesetzt werden

Spiele und Unterhaltung

  • Brettspiele – Würfelwürfe, Zugreihenfolge
  • Tabletop-Rollenspiele4d6dl1 für Attributswerte, 2d20kh1 für Vorteil
  • Gewinnspiele – einen Gewinner auslosen, mit Seed zur Überprüfbarkeit durch die Teilnehmer
  • Quizze – zufällige Reihenfolge der Fragen

Statistik und Wissenschaft

  • Stichprobenziehung – eine Stichprobe ohne Wiederholung aus einer Population ziehen
  • A/B-Tests – Teilnehmer zufällig Gruppen zuweisen
  • Monte-Carlo-Simulation – Wahrscheinlichkeiten durch Wiederholung schätzen
  • Bootstrapping – Resampling zur Schätzung von Unsicherheit

Entwicklung

  • Testdaten – eine Million Werte, im Hintergrund generiert, damit die Seite reaktionsfähig bleibt
  • Fixtures – mit Seed, sodass ein fehlschlagender Test zweimal auf dieselbe Weise fehlschlägt
  • Zufalls-IDs – mit Auffüllung, Präfixen oder einer Vorlage
  • Lasttests – Bezeichner nach Vorlage wie user{n}@example.com

Echte vs. pseudozufällige Zahlen

Math.random()crypto.getRandomValues()Mit Seed (xoshiro128**)
TypPseudozufälligKryptographisch sicherPseudozufällig, deterministisch
EntropiequelleVon der Engine gewählter SeedSystem-CSPRNGIhr Seed-Text
Vorhersehbar?PotenziellNeinJa, per Design
Wiederholbar?NeinNeinImmer
Geeignet für SicherheitNeinJaNein
Geeignet für StatistikKommt darauf anJaJa
Geeignet für überprüfbare ZiehungenNeinNeinJa

Math.random() wird in diesem Tool nirgends verwendet.

Ziehungen ohne Wiederholung

Mit aktivierter Option Keine Wiederholungen erscheint jede Zahl im Bereich höchstens einmal. Ideal für:

  • Gewinnspiele – niemand kann zweimal gewinnen
  • Permutationen – eine Menge von Elementen mischen
  • Bingo – gezogene Zahlen bleiben gezogen
  • Lotto – sechs unterschiedliche Zahlen von 1 bis 49

Die Ziehung nutzt einen partiellen Fisher-Yates-Shuffle, sodass 6 Zahlen aus einer Million genauso schnell gezogen werden wie 6 aus 49 – es wird nie in der Hoffnung geloopt, eine Kollision zu vermeiden. Fordern Sie mehr eindeutige Zahlen an, als der Bereich liefern kann, meldet der Generator das, statt sich aufzuhängen.

Ergebnisse exportieren

Kopieren Sie die Zahlen als reinen Text mit einem beliebigen Trennzeichen, als CSV für eine Tabellenkalkulation, als JSON für Code oder als Markdown-Tabelle für Dokumentation. Sehr große Ziehungen bleiben vollständig im Speicher und werden vollständig kopiert, auch wenn auf dem Bildschirm nur die ersten paar Tausend angezeigt werden.

Zufallszahlen im eigenen Code generieren

JavaScript / TypeScript

// Kryptographisch sichere Ganzzahl in [min, max], ohne Modulo-Bias.
// Das naive `value % range` bevorzugt niedrige Zahlen, wenn sich der
// Bereich nicht gleichmäßig durch 2**32 teilen lässt - daher verwerfen
// wir Werte im ungleichmäßigen Rest.
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

# Kryptographisch sicher, ohne Modulo-Bias
n = secrets.randbelow(max - min + 1) + min

# Reproduzierbar: derselbe Seed liefert immer dieselbe Sequenz
rng = random.Random('my-seed')
n = rng.randint(min, max)

# Ohne Wiederholung
sample = random.sample(range(min, max + 1), count)

PHP

// Kryptographisch sicher (PHP 7+), ohne Modulo-Bias
$n = random_int($min, $max);

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

Häufig gestellte Fragen (FAQ)

Ist das Ergebnis wirklich zufällig? Im sicheren Modus ja. Es stammt aus crypto.getRandomValues(), einem kryptographisch sicheren Generator, der aus dem Entropie-Pool Ihres Betriebssystems gespeist wird. Die Ergebnisse sind gleichverteilt und unvorhersehbar. Der Modus mit Seed ist bewusst das Gegenteil: Er ist reproduzierbar, das ist der Sinn der Sache.
Wie viele Zahlen kann ich auf einmal generieren? Bis zu 1.000.000. Ziehungen über 50.000 werden in einem Hintergrund-Worker berechnet, damit die Seite reaktionsfähig bleibt, und der Bildschirm zeigt die ersten 2.000 mit einer Angabe des Rests – beim Kopieren erhalten Sie trotzdem alles.
Kann ich negative Zahlen generieren? Ja. Setzen Sie ein negatives Minimum. Der gesamte Bereich der JavaScript-Zahlen funktioniert, auch mit negativen Werten an beiden Enden.
Beeinflusst die Sortierung die Zufälligkeit? Nein. Die Zahlen werden zuerst gezogen und danach sortiert. Die Sortierung ändert nur die Reihenfolge, in der Sie sie sehen.
Liefert derselbe Seed morgen dieselben Zahlen? Ja, und auch auf jedem anderen Gerät oder Browser. Der Generator mit Seed ist vollständig deterministisch und hängt nur von Ihrem Seed und den Einstellungen ab.
Was sagt mir der Gleichverteilungstest? Er führt einen Chi-Quadrat-Test durch, der vergleicht, wie oft jede Zahl tatsächlich vorkam gegenüber der erwarteten Häufigkeit. Bleibt die Statistik unter dem kritischen Wert, sind die Ergebnisse mit einer Gleichverteilung vereinbar. Für eine aussagekräftige Auswertung braucht es einen einigermaßen engen Bereich und genügend Ziehungen – mindestens fünf pro möglichem Wert.
Wie funktionieren Gewichtungen? Schreiben Sie sie als number:weight-Paare, zum Beispiel 1:5, 2:1, 3:1. Hier ist die 1 fünfmal so wahrscheinlich wie die 2 oder die 3. Nicht aufgeführte Zahlen erhalten das Gewicht null und werden nie gezogen.
Welche Würfelnotation wird unterstützt? 3d6 würfelt drei sechsseitige Würfel. Mit 3d6+2 fügen Sie einen Modifikator hinzu. Würfel behalten oder verwerfen mit kh, kl, dh, dl – so behält 2d20kh1 den höheren von zwei d20 (Vorteil), und 4d6dl1 verwirft den niedrigsten von vier d6.
Wird mein Verlauf irgendwo gespeichert? Nur in diesem Browser, im lokalen Speicher (Local Storage). Er gelangt nie an einen Server, synchronisiert sich nie mit einem anderen Gerät und verschwindet, wenn Sie Ihre Website-Daten löschen. Exportieren Sie ihn als JSON, wenn Sie ihn aufbewahren oder übertragen möchten.

Ich würde mich freuen, wenn Sie diese Seiten mit Freunden teilen, als Lesezeichen speichern oder darauf verlinken würden. Danke! 🙏