Sorteador de equipos aleatorio

Divide una lista de nombres en equipos al azar con un barajado Fisher-Yates justo a nivel criptográfico. Todo ocurre en tu navegador.

El sorteo ocurre localmente en tu navegador. Tu lista de nombres no sale del dispositivo.

Cada línea es una persona; las líneas vacías se ignoran.

Cómo funciona

Escribe un nombre por línea, elige entre un número de equipos (2–10) o un tamaño fijo, y la herramienta reparte los grupos al instante: primero baraja la lista y luego la recorre en orden circular, repartiendo una carta a cada persona. Cualquier cambio —un nombre, el modo, el número— vuelve a repartir enseguida, y el botón de re-sortear genera un reparto completamente nuevo.

Fisher-Yates con Web Crypto
El barajado usa el algoritmo clásico de Fisher-Yates (Knuth): se recorre el array una vez y cada posición intercambia con otra anterior elegida de forma uniforme. La aleatoriedad viene de crypto.getRandomValues con muestreo por rechazo —los valores que sesgarían la distribución en la parte alta del rango de 32 bits se descartan y se vuelven a sacar—, así que el sorteo no tiene sesgo criptográfico.
Reparto circular
Tras barajar, el nombre 1 va al equipo 1, el 2 al equipo 2, y así sucesmente, dando vueltas. Como el orden del mazo ya es aleatorio, repartir en rotación fija crea grupos impredecibles uno a uno y tan iguales en tamaño como permiten los números: ningún equipo puede tener dos personas más que otro.
Por qué barajar y partir es mejor que elegir
Elegir personas una a una con una decisión aleatoria nueva tiende a producir tamaños desiguales y depende del orden en que se llenan los equipos. Un único barajado sin sesgo seguido de reparto circular elimina ambos problemas, igual que se haría repartiendo cartas de verdad.

Preguntas frecuentes

¿El sorteo es realmente justo?

Sí. Los nombres se reparten con un barajado Fisher-Yates impulsado por crypto.getRandomValues —la fuente aleatoria criptográfica del navegador—, así que cada permutación es igual de probable, y los enteros se obtienen por muestreo por rechazo para evitar el sesgo de módulo de los atajos. Tras barajar, el reparto circular garantiza que los tamaños de equipo difieren en una persona como máximo.

¿Cómo funciona el modo de miembros por equipo?

Fijas el tamaño del equipo y la herramienta calcula cuántos equipos eso implica: 11 nombres en equipos de 4 dan 3 equipos, y el último lleva el resto. El modo de número de equipos va al revés: fijas cuántos y los tamaños salen lo más iguales posible.

¿Y si dos personas se llaman igual?

La herramienta sigue funcionando —los duplicados cuentan como personas distintas porque cada línea es una entrada—, pero muestra un aviso para que compruebes que no es un error de copiar y pegar. Si son duplicados reales, añade una inicial o un ID corto (Sam K, Sam R) para que los equipos impresos no se presten a confusión.

¿Puedo fijar a alguien en un equipo o recuperar el sorteo anterior?

No. No hay bloqueos, ni historial, ni guardado: cada nuevo sorteo es independiente, y el reparto anterior desaparece en cuanto barjas uno nuevo. Si te gusta un resultado, cópialo antes de volver a sortear.

¿Se sube algo a un servidor?

No. El barajado es JavaScript puro con la API Web Crypto dentro de tu pestaña. Tu lista de nombres nunca sale del dispositivo y no se guarda nada: recargar la página la borra.