CodeKitHub
Deutsch
Generator-Tools

Kostenloser Listen-Zufallsgenerator

Füge eine Liste ein — Namen, Aufgaben, Verlosungsteilnehmer, was auch immer — eine pro Zeile, und mische sie mit einem echten Fisher-Yates-Shuffle in eine faire zufällige Reihenfolge. Aktiviere den Gewinner-Modus, um nur N zufällige Einträge zu ziehen — nützlich, um einen Gewinner bei einer Verlosung zu bestimmen oder eine zufällige Reihenfolge zuzuweisen, ohne die ganze gemischte Liste offenzulegen.

Was ist dieses Tool?

Ein Listen-Zufallsgenerator ordnet eine Menge von Elementen in eine zufällige Reihenfolge um oder zieht daraus eine zufällige Teilmenge. Die Schwierigkeit besteht darin, das ohne Verzerrung zu tun: Ein naiver Ansatz wie das Sortieren eines Arrays mit einer zufälligen Vergleichsfunktion erzeugt eine verzerrte Verteilung, bei der manche Reihenfolgen viel wahrscheinlicher sind als andere.

Dieses Tool verwendet den Fisher–Yates-(Durstenfeld-)Shuffle-Algorithmus, die Standardmethode für eine nachweislich gleichverteilte Zufallspermutation — jede mögliche Reihenfolge deiner Liste ist gleich wahrscheinlich.

Warum sollte man es nutzen?

  • Wirklich unverzerrtes Mischen — Fisher–Yates statt des verbreiteten Antipatterns sort(() => Math.random() - 0.5), das die Ergebnisse verzerrt.
  • Gewinner-Modus: Ziehe genau N zufällige Elemente, statt die ganze Liste zu mischen — ideal für Verlosungen und Gewinnspiele.
  • Optionale Duplikatentfernung vor dem Mischen, für Listen mit versehentlichen Wiederholungen.
  • Funktioniert mit beliebigem Text — Namen, Aufgaben, Lose, Preise — ein Eintrag pro Zeile.
  • Privat: Das Mischen erfolgt komplett in deinem Browser, nichts wird hochgeladen.

Anleitung

  1. Füge deine Liste in das Feld ein, ein Eintrag pro Zeile.
  2. Aktiviere optional „Duplikate vor dem Mischen entfernen“, falls die Liste versehentliche Wiederholungen enthalten könnte.
  3. Für eine komplette Neuordnung klicke einfach auf Mischen. Um Gewinner zu ziehen, aktiviere die N-Elemente-Option und lege fest, wie viele gezogen werden sollen.
  4. Kopiere das Ergebnis — klicke jederzeit erneut auf Mischen für eine neue zufällige Reihenfolge oder eine neue Ziehung.

Beispiel

Eingabe

Alice
Bob
Charlie
Diana
Ethan

Ausgabe

Eine zufällig neu geordnete Liste wie Charlie, Ethan, Alice, Diana, Bob — bei jedem Klick auf Mischen anders.

Mit dem Gewinner-Modus auf 2 gesetzt könnte dieselbe Eingabe stattdessen nur Ethan und Alice liefern — eine zufällige Ziehung von 2 Elementen, kein Ausschnitt der ersten 2 einer gemischten Reihenfolge.

Warum ein naiver Shuffle verzerrte Ergebnisse liefert

sort(() => Math.random() - 0.5) ist ein verbreiteter Trick, der richtig aussieht, es aber nicht ist: Er verlässt sich darauf, dass der Sortieralgorithmus den Vergleichsoperator in einem bestimmten Muster genau so oft aufruft — das garantieren reale Sortierimplementierungen aber nicht. Der praktische Effekt ist ein Shuffle, bei dem bestimmte Reihenfolgen häufiger auftreten als andere — subtil genug, um bei flüchtigem Hinsehen nicht aufzufallen, aber statistisch über viele Durchläufe messbar.

Fisher–Yates umgeht das Problem vollständig: Statt einen Sortieralgorithmus indirekt Zufall erzeugen zu lassen, tauscht es jede Position genau einmal direkt mit einer zufällig verbleibenden Position — was unabhängig von der zugrunde liegenden Sortierimplementierung der Sprache nachweislich gleichverteilt ist.

Zufallszahlengenerator · UUID-Generator

Häufig gestellte Fragen

Warum nicht einfach array.sort(() => Math.random() - 0.5) verwenden?

Diese Zeile ist ein bekanntes Antipattern: JavaScripts sort() garantiert nicht, dass jedes Elementpaar gleich oft verglichen wird, sodass die resultierende Reihenfolge messbar zugunsten bestimmter Permutationen verzerrt ist — manche Elemente landen häufiger am Anfang oder Ende, als es echter Zufall erzeugen würde. Fisher–Yates vermeidet das durch seinen Aufbau vollständig und ist der Algorithmus, den dieses Tool tatsächlich implementiert.

Ist die Mischreihenfolge wirklich unverzerrt?

Ja. Fisher–Yates durchläuft die Liste einmal und tauscht bei jedem Schritt das aktuelle Element mit einem gleichverteilt zufällig gewählten Element aus dem noch nicht gemischten Teil. Das ist mathematisch bewiesen so, dass jede mögliche Reihenfolge mit gleicher Wahrscheinlichkeit entsteht, vorausgesetzt es liegt eine gute Zufallsquelle vor (JavaScripts Math.random()).

Was ist der Unterschied zwischen Misch-Modus und Gewinner-Modus?

Der Misch-Modus ordnet jedes Element deiner Liste neu und zeigt dir alle, nur in neuer Reihenfolge. Der Gewinner-Modus zieht nur N Elemente zufällig und zeigt nur diese an — nützlich, wenn du eine feste Anzahl an Gewinnern oder Stichproben auswählen willst, ohne die gesamte neu geordnete Liste offenzulegen.

Kann ich das für eine echte Verlosung mit Preisen verwenden?

Ja, für informelle Gewinnspiele und Verlosungen funktioniert das gut, da die Zufälligkeit wirklich gleichverteilt ist. Für eine rechtlich regulierte Verlosung mit Geldpreisen prüfe deine lokalen Vorschriften — manche Rechtsordnungen verlangen ein bestimmtes, überprüfbares Ziehungsverfahren.

Ändert das Entfernen von Duplikaten meine ursprüngliche Liste?

Nein — die Deduplizierung wirkt sich nur auf die gemischte Ausgabe aus, und nur wenn das Kästchen aktiviert ist. Deine Eingabeliste bleibt genau so, wie du sie eingegeben hast, sodass du die Option umschalten und neu mischen kannst, ohne etwas erneut eintippen zu müssen.

Verwandte Tools