Skip to content

Selector de Equipos Aleatorios

Última verificación mayo 2026 — corre en tu navegador
Selector de equipos
8 nombres introducidos

Selector de Equipos Aleatorios — Dividir Lista en Equipos (Sorteo)

Pega tu lista de nombres, elige cuántos equipos necesitas (de 2 a 10) y la página divide los nombres en grupos equilibrados con un clic. El algoritmo mezcla todos los nombres primero con una pasada Fisher-Yates sobre entropía Web Crypto, y luego asigna round-robin para que los tamaños de equipo difieran como mucho en uno — eso significa que una lista de 11 dividida en 4 equipos sale 3-3-3-2, nunca 5-2-2-2. Cada equipo tiene su propia tarjeta con código de color para revisar el resultado de un vistazo, y un único botón de copia pone toda la asignación en el portapapeles lista para pegar en un chat o pizarra.

Sobre esta herramienta

La mezcla es una pasada Fisher-Yates imparcial respaldada por crypto.getRandomValues — toda permutación de la lista de entrada es igualmente probable, lo que importa cuando la fuerza del equipo correlaciona con el orden de entrada (lista alfabética, plantilla ordenada por nivel). Tras la mezcla, los nombres se colocan en equipos usando índice módulo número-de-equipos, lo que garantiza tamaños de equipo con desequilibrio mínimo para cualquier tamaño de lista y cualquier número de equipos de 2 a 10. Las líneas vacías y los espacios en los extremos se descartan antes de contar, así que puedes pegar desde cualquier fuente sin sanear primero. Repetir el clic vuelve a mezclar para que puedas tirar de nuevo si el primer reparto junta a los amigos. Usos habituales: equipos de Educación Física, juegos de cumpleaños, escuadrones de hackathon, sorteos de torneos deportivos, trabajos en grupo en clase y dividir una reunión en subgrupos de discusión.

  • Pega nombres uno por línea — acepta espacios y líneas en blanco
  • Deslizador de 2 a 10 equipos
  • Mezcla Fisher-Yates + asignación round-robin para mínimo desequilibrio
  • Entropía Web Crypto (sin sesgo de Math.random)
  • Tarjetas de equipo con código de color (10 acentos distintos)
  • Contador de nombres en vivo mientras escribes
  • Copia el resultado formateado (etiquetas + lista con viñetas) al portapapeles
  • Bloquea el reparto cuando hay menos nombres que equipos
  • Sin cuentas, sin analítica, sin ida y vuelta al servidor
  • Apto para clase de EF, fiestas infantiles, hackathons, trabajos escolares

Gratis. Sin registro. Tus datos permanecen en tu navegador. Anuncios mediante Google AdSense (con consentimiento).

Preguntas frecuentes

¿Por qué round-robin en lugar de asignar los primeros nombres al equipo A, el siguiente bloque al equipo B?

La asignación por bloques secuenciales (primeros M nombres → equipo A, siguientes M → equipo B, etc.) da los mismos tamaños de equipo con desequilibrio mínimo que round-robin, pero filtra información del orden de entrada hacia la pertenencia de equipo. Si la lista está ordenada alfabéticamente, el equipo A recibe a todos los nombres que empiezan por A-D y el equipo B los E-H — los amigos sentados uno al lado del otro en la lista acaban en el mismo equipo. Round-robin (índice módulo número-de-equipos tras una mezcla Fisher-Yates) desacorrela la salida del orden de entrada: cada permutación de la lista es igualmente probable, así que el orden de entrada no influye en la pertenencia de equipo. Es el enfoque canónico de partición justa que se usa en sorteos deportivos donde el orden del draft importa (los snake drafts añaden una pasada inversa para más equidad).

¿Por qué Fisher-Yates en lugar de un enfoque más simple de ordenar-por-clave-aleatoria?

La alternativa ingenua es darle a cada nombre un número aleatorio y ordenar por ese número. Funciona en teoría pero tiene dos problemas prácticos: (1) `Array.prototype.sort()` de JavaScript no se garantiza como un sort de barajado perfecto en todos los navegadores — usa TimSort (V8, desde Chrome 70 en octubre de 2018) que compara pares y puede sesgarse al romper empates cuando dos claves aleatorias colisionan; (2) la clave aleatoria por elemento necesita más de 32 bits para evitar colisiones, multiplicando el presupuesto de entropía. Fisher-Yates (Algoritmo P de Knuth, la adaptación in-place de Durstenfeld CACM 1964 del original con lápiz y papel de Fisher y Yates 1938) genera una permutación uniforme exacta en tiempo O(n) y espacio extra O(1) por intercambio — sin sort, sin desempate, sin desperdicio de entropía. El `shuffle()` de esta herramienta en `src/lib/random.ts` es la implementación Durstenfeld de libro de texto respaldada por `crypto.getRandomValues()`.

¿Cómo de equilibrados quedan los tamaños de equipo — qué pasa si la lista no divide exactamente?

Los tamaños de equipo siempre difieren en como mucho 1, sea cual sea el tamaño de la lista o el número de equipos. La asignación round-robin (índice módulo numTeams) lo garantiza: una lista de 11 dividida en 4 equipos sale 3-3-3-2, nunca 5-2-2-2 ni cualquier otra disposición desigual. Los equipos más pequeños son siempre los últimos en el orden de índice (equipo D en el ejemplo 11-entre-4), pero como los nombres ya estaban mezclados antes de asignar, qué equipo concreto acaba con la ausencia extra es aleatorio. Para ligas deportivas eso suele bastar; para rotación de tareas donde el equipo más pequeño tiene ventaja clara conviene rotar qué equipo recibe el tamaño menor entre sesiones.

¿Y si quiero equipos de tamaños desiguales (p. ej., 1 capitán más 5 jugadores)?

Esta herramienta hace solo particiones iguales o casi iguales. Para divisiones por rol se puede ejecutar dos veces: primero se divide en niveles de rol (digamos capitanes vs jugadores) ordenando la lista a mano, y luego se llama al selector sobre cada nivel por separado. Alternativamente, para recuentos pequeños de equipos cabe dividir manualmente tras ver el primer resultado. La UI de la herramienta se limita a 2-10 equipos iguales o casi iguales porque es el caso de uso dominante (clase de EF, asignación de escuadrones en hackathon, trabajos en grupo en clase, sorteos deportivos) y ya añade suficiente complejidad; la partición desigual explícita es lo bastante rara como para que añadir una UI específica recargaría la página para el 95 % de usuarios que solo quieren equipos justos uniformes.

¿Puedo conseguir un reparto distinto si el primero ha juntado a los amigos?

Sí — pulsar "Elegir equipos" otra vez vuelve a mezclar. Cada clic ejecuta una nueva pasada Fisher-Yates sobre la misma lista, produciendo una permutación independiente. Matemáticamente no hay memoria del reparto anterior: en valor esperado un segundo clic cambia una fracción no trivial de asignaciones (sobre 1 − 1/numTeams por nombre de media). Para evitar que un emparejamiento concreto salga en alguna iteración ("estos dos nunca en el mismo equipo"), lo más limpio es retirar a uno, ejecutar el selector y añadirlo al equipo opuesto a mano — las restricciones explícitas suelen ser más rápidas de expresar editando la lista que añadiendo UI para ellas.

Fuentes (5)
  • Fisher, R. A., & Yates, F. (1938). Statistical Tables for Biological, Agricultural and Medical Research — original (pencil-and-paper) shuffle: write the numbers 1..N, draw a random number between 1 and N-k+1, strike out the k-th unstruck number and append it to the output list; this tool uses Durstenfeld's 1964 in-place computer adaptation (named Algorithm P by Knuth) of the same procedure — every permutation of the input roster is equally likely. Oliver and Boyd, London and Edinburgh (1938, viii + 90 pp.); original shuffle procedure described as "Example 12".
  • Knuth, D. E. (1997). The Art of Computer Programming, Volume 2: Seminumerical Algorithms — §3.4.2 Algorithm P (Shuffling) — the in-place O(n) variant this tool uses; runs through the array from the last element down, swapping each element with a uniformly chosen index in the unshuffled prefix; the round-robin assignment afterwards (i-th shuffled name → team i mod numTeams) guarantees team sizes differ by at most one for any roster size. Addison-Wesley, 3rd edition (1997, ISBN 0-201-89684-2); §3.4.2 first published in 1st edition 1969.
  • Durstenfeld, R. (1964). Algorithm 235: Random permutation — in-place computer-friendly shuffle that Knuth later named Algorithm P; the modification of Fisher & Yates 1938 that brings the algorithm down from O(n²) to O(n) by swapping the chosen element to the end of the working region rather than physically striking it out from a paper list. Communications of the ACM, Vol. 7, No. 7, p. 420 (July 1964).
  • World Wide Web Consortium (W3C) (2017). Web Cryptography API — `crypto.getRandomValues()` powers the shuffle in this tool via the in-tree `src/lib/random.ts` helper, which uses rejection sampling on a Uint32Array to draw unbiased indices for each swap; this matters when team strength is correlated with input order (alphabetical roster, skill-sorted lineup) because biased shuffles would systematically stack better players into low-index teams. W3C Recommendation 26 January 2017 (Crypto.getRandomValues §3.3).
  • World Wide Web Consortium (W3C) (2018). Web Content Accessibility Guidelines (WCAG) 2.1 — Success Criterion 4.1.3 Status Messages — the rendered team cards update via `aria-live="polite"` so screen-reader users hear the outcome when "Pick teams" is activated; SC 1.4.3 Contrast (Minimum) governs the colored team-card accents (each accent meets 3:1 against the dark surface per the WCAG 2.1 relative-luminance formula). W3C Recommendation 5 June 2018; carried unchanged into WCAG 2.2 (Recommendation 5 October 2023).

Son las publicaciones originales en las que se basan las fórmulas de esta herramienta. Localízalas con el nombre de la revista y el año en Google Scholar o PubMed.

Por ·