Zufällige, ausgeglichene Teams mit festem Seed erstellen
Dieser Zufallsteam-Generator mit festem Seed macht aus einer Namensliste ausgewogene Gruppen, die Sie später exakt reproduzieren können.
Im Browser ausführen – kostenlos
Geben Sie die Personen ein, wählen Sie die gewünschte Teamzahl und tragen Sie einen beliebigen Text als Seed ein. Dieselben Namen in derselben Reihenfolge, dieselbe Teamzahl und derselbe Seed ergeben stets dieselbe Zuordnung. Dadurch lässt sich das Ergebnis leicht prüfen, teilen und wiederholen. Jede Person wird genau einmal zugeordnet, die Teamgrößen unterscheiden sich höchstens um eine Person, und mehr Teams als Namen werden abgelehnt.
Bereiten Sie die Liste vor und wählen Sie einen sinnvollen Seed
Beginnen Sie mit einem Eintrag für jede teilnehmende Person. Die Namen bleiben einschließlich Groß- und Kleinschreibung sowie Leerzeichen unverändert. Sie können daher Anzeigenamen, Initialen, Personalnummern oder andere lesbare Kennzeichnungen verwenden. Jeder Eintrag muss Text enthalten und darf nicht nur aus Leerzeichen bestehen. Doppelte Einträge sind zulässig, weil verschiedene Personen denselben Namen tragen können. Ergänzen Sie jedoch eine Kennzeichnung, wenn sie in der fertigen Zuordnung eindeutig unterscheidbar sein müssen. Wählen Sie anschließend eine Teamzahl zwischen eins und der Anzahl der angegebenen Namen. Als Seed eignet sich jeder nicht leere Text, etwa ein Veranstaltungsname, ein von Ihrer Organisation bestimmtes Datum oder eine veröffentlichte Ziehungskennung. Ein beschreibender Seed erleichtert die spätere Wiederholung, ohne zusätzlichen Zustand zu speichern. Für ein faires Verfahren sollten Sie den Seed vereinbaren oder veröffentlichen, bevor die Teams betrachtet werden. Schon ein geändertes Zeichen kann die Mischung verändern; identische Eingaben liefern dagegen exakt dasselbe Ergebnis. Pro Anfrage sind bis zu zehntausend Namen möglich, sodass sich das Werkzeug für Unterricht, Workshops, Ligen und große interne Veranstaltungen eignet.
So funktionieren deterministische Mischung und Ausgleich
Der Generator wandelt den Seed in einen stabilen Zahlenzustand um und steuert damit die deterministische Mischung einer Kopie der Namensliste. Er verwendet weder Systemzufall noch die aktuelle Uhrzeit, Netzwerkdaten oder gespeicherten Sitzungszustand. Nach dem Mischen werden die Namen der Reihe nach verteilt: Der erste Name kommt in Team eins, der nächste in Team zwei und so weiter. Nach dem letzten Team beginnt die Verteilung wieder bei Team eins. Diese Regel stellt sicher, dass sich das größte und das kleinste Team um höchstens eine Person unterscheiden. Wenn sich die Namenszahl nicht gleichmäßig teilen lässt, erhalten die Teams mit den niedrigeren Nummern jeweils ein zusätzliches Mitglied. Jede Eingabeposition erscheint genau einmal in der Ausgabe; gleiche Anzeigenamen bleiben daher getrennte Einträge und werden nicht unbemerkt zusammengeführt. Determinismus bedeutet Reproduzierbarkeit, nicht kryptografische Unvorhersagbarkeit: Wer die vollständige Eingabe und den Seed kennt, kann dieselbe Zuordnung berechnen. Falls Teilnehmende einen öffentlichen Seed strategisch beeinflussen könnten, sollten Sie ihn erst nach Abschluss der Liste mit einem vereinbarten Verfahren bestimmen und anschließend Liste, Seed und Ergebnis gemeinsam dokumentieren.
Wiederholen, vergleichen und automatisieren Sie Zuordnungen
Bewahren Sie die ursprüngliche Reihenfolge der Namen, die gewünschte Teamzahl und den Seed auf, wenn Sie eine Zuordnung später wiederherstellen möchten. Alle drei Angaben gehen in die Berechnung ein: Eine neue Reihenfolge, eine Namenskorrektur, eine nachträglich hinzugefügte oder entfernte Person, eine andere Teamzahl oder ein bearbeiteter Seed führt zu einer anderen Mischung. Diese Empfindlichkeit verhindert, dass ein altes Ergebnis nach einer Listenänderung fälschlich gültig wirkt. Zugleich bedeutet sie, dass die vollständige Anfrage als Protokoll der Ziehung behandelt werden sollte. Die Antwort enthält Seed, Teamzahl und nummerierte Teams mit ihren Mitgliedern. Diese Struktur lässt sich einfach in einen Ablaufplan übernehmen oder in einem automatisierten Prozess verarbeiten. Für einzelne Unterrichtsstunden oder Workshops eignet sich die Browser-Ausführung; die API ist sinnvoll, wenn eine Anwendung reproduzierbare Gruppen bilden soll, ohne eigenen Zufallscode zu pflegen. Eine API-Anfrage kostet $0.002; die Ausführung im Browser steht auf dieser Seite bereit. Die Validierung stoppt unmögliche oder mehrdeutige Anfragen frühzeitig, darunter leere Namen, ein fehlender Seed, eine nicht ganzzahlige Teamzahl oder mehr Teams als Personen.
Anwendungsfälle
Arbeitsgruppen für Workshops bilden
Veröffentlichen Sie einen Sitzungs-Seed und erstellen Sie ausgewogene Gruppen, die später reproduzierbar bleiben.
Projektteams im Unterricht zuordnen
Teilen Sie eine Klasse gleichmäßig auf und bewahren Sie Liste, Seed und genaue Zuordnung auf.
Wiederkehrende Auslosungen automatisieren
Erzeugen Sie deterministische Teams in einer Anwendung, ohne den Zustand eines Zufallsgenerators zu speichern.
Häufige Fragen
Erzeugt derselbe Seed immer dieselben Teams?
Ja, sofern die Namen in derselben Reihenfolge stehen und die Teamzahl unverändert bleibt. Jede Änderung dieser Eingaben kann das Ergebnis verändern.
Wie gleichmäßig werden die Personen verteilt?
Jede Person wird einmal zugeordnet, und das größte Team hat höchstens ein Mitglied mehr als das kleinste.
Was geschieht bei mehr Teams als Namen?
Die Anfrage liefert einen Fehler wegen ungültiger Eingabe, da jedes angeforderte Team mindestens eine Person erhalten muss.
Dürfen zwei Personen denselben Namen haben?
Ja. Wiederholte Zeichenfolgen bleiben getrennte Einträge; eine zusätzliche Kennzeichnung erleichtert jedoch die Unterscheidung.
Eignet sich das Verfahren für eine sicherheitskritische Lotterie?
Nein. Der Algorithmus ist transparent und reproduzierbar, aber nicht als geheime oder kryptografisch sichere Ziehung ausgelegt.
Was kostet eine API-Anfrage?
Jede API-Anfrage kostet $0.002. Sie können die Funktion auf dieser Seite auch im Browser ausführen.
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/game/team-shuffle-seeded \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"names":["Amina","Bruno","Chen","Daria","Emil","Fatima","Grace"],"team_count":3,"seed":"summer-games-2026"}'const res = await fetch("https://api.kit.forhosting.com/game/team-shuffle-seeded", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"names": [
"Amina",
"Bruno",
"Chen",
"Daria",
"Emil",
"Fatima",
"Grace"
],
"team_count": 3,
"seed": "summer-games-2026"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/game/team-shuffle-seeded",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"names": [
"Amina",
"Bruno",
"Chen",
"Daria",
"Emil",
"Fatima",
"Grace"
],
"team_count": 3,
"seed": "summer-games-2026"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/game/team-shuffle-seeded", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"names":["Amina","Bruno","Chen","Daria","Emil","Fatima","Grace"],"team_count":3,"seed":"summer-games-2026"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"names":["Amina","Bruno","Chen","Daria","Emil","Fatima","Grace"],"team_count":3,"seed":"summer-games-2026"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/game/team-shuffle-seeded", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"names": [
"Amina",
"Bruno",
"Chen",
"Daria",
"Emil",
"Fatima",
"Grace"
],
"team_count": 3,
"seed": "summer-games-2026"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "game.team_shuffle_seeded",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Limits
max_items | 10000 |
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |