Zufallszahlen-Generator
Erzeugen Sie zufällige Zahlen, Listen oder Sequenzen — mit Bereich, Anzahl, Eindeutigkeit und kryptografisch fairer Zufallsquelle.
Was dieses Tool macht
Erzeugt zufällige ganze Zahlen in jedem Bereich, in jeder Menge von 1 bis 10.000. Schalte um, ob Duplikate erlaubt sind (aus für Lotterie-artige Einzelzüge, an für Würfel- oder Münzsequenzen), wähle, ob die Ausgabe aufsteigend sortiert oder gemischt sein soll, und such dir das Format aus – eine Zahl pro Zeile, kommagetrennt für Tabellenkalkulationen, leerzeichengetrennt für schnelles Einfügen in der Kommandozeile oder als JavaScript-Array-Literal für Code. Der Zufall ist sauber gleichverteilt: Wir nutzen crypto.getRandomValues() mit Verwerfungsstichproben (Rejection Sampling), um den Modulo-Bias von Math.random() % range zu eliminieren. Für eindeutige Züge in dichten Bereichen läuft ein partielles Fisher-Yates-Mischen; für dünne Bereiche ein Hash-Set mit Wiederholungen. Das Ganze läuft lokal – kein Upload, kein Logging, kein Rate-Limit.
So funktioniert es
Lege ein Min und ein Max fest – sie können negativ, null oder beliebig sein. Bestimme, wie viele Zahlen du brauchst. Entscheide, ob Duplikate erlaubt sind (aus für Verlosungen, an für mehrfaches Würfeln). Entscheide, ob aufsteigend sortiert wird. Wähle ein Format: Zeilen, Komma, Leerzeichen oder Array. Klick Generieren. Das Ergebnis erscheint im Panel; bei einer Zahl wird sie groß angezeigt, bei vielen in einem scrollbaren Codeblock. Mit Kopieren landet alles in deiner Zwischenablage. Ein erneuter Lauf mit denselben Einstellungen liefert jedes Mal einen frischen Zug – einen Seed gibt es nicht.
So funktioniert der Zufall
Jeder Zug entnimmt eine 32-Bit-Ganzzahl aus crypto.getRandomValues() und verwirft jeden Zug oberhalb von floor(2^32 / range) * range. Der akzeptierte Zug modulo range plus min ist deine Zahl – nachweislich gleichverteilt über den gesamten Bereich. Für eindeutige Züge gibt es zwei Strategien: Ist der Bereich dicht genug (≤ 200.000 Werte), bauen wir den vollständigen Pool auf und mischen die ersten count Einträge per partiellem Fisher-Yates – das ist O(count), nicht O(range). Ist der Bereich spärlich und groß, nutzen wir ein Hash-Set mit Wiederholungen – durch das Limit von 10.000 explodieren die Wiederholungen nie. Sortieren (falls aktiviert) ist ein abschließender aufsteigender Durchlauf.
Übliche Einstellungen
Ein paar Beispielkombinationen, mit denen du loslegen kannst.
| Verwenden | Einstellungen |
|---|---|
| Lottozahlen (5 aus 49) | Min 1, Max 49, Anzahl 5, Duplikate aus, Sortieren an |
| Münzsequenz (10 Würfe) | Min 0, Max 1, Anzahl 10, Duplikate an |
| Zufälliges Farb-Byte | Min 0, Max 255, Anzahl 1 |
| 3 Gewinner aus 100 ziehen | Min 1, Max 100, Anzahl 3, Duplikate aus |
Häufig gestellte Fragen
Ist es wirklich zufällig?
crypto.getRandomValues() mit Verwerfungsstichproben, dem Standard-CSPRNG-Verfahren für unverzerrte Ganzzahl-Bereiche.Warum mehr Eindeutige verlangen, als der Bereich hergibt?
Kann ich den RNG seeden?
Was ist die maximale Anzahl?
Funktioniert es mit negativen Zahlen?
max − min + 1, also achte darauf, dass max ≥ min ist.