¿Necesitas elegir a la persona ganadora de un sorteo, preguntar a un estudiante en clase o decidir quién lava los platos? Este selector aleatorio en línea elige de forma justa a partir de cualquier lista. Introduce los elementos en el cuadro «Elementos» —uno por línea o separados por comas—, indica cuántos necesitas en «Cantidad» y haz clic en «Generar». Una lista requiere al menos dos entradas y admite hasta 1000, de un máximo de 200 caracteres cada una.
Cada elección se realiza directamente en el navegador mediante la Web Crypto API (crypto.getRandomValues), que proporciona valores aleatorios criptográficamente seguros a partir de la entropía del sistema. La lista nunca se envía a un servidor, no se registra ni es vista por nadie; esto es crucial, ya que los datos que se suelen pegar son listas de clientes, registros de clases o nombres de colegas. El botón «Cargar desde archivo» mantiene la misma promesa: el navegador lee el archivo y llena el cuadro de manera local, sin subir nada a ninguna parte.
Las opciones están pensadas para las listas que la gente utiliza realmente. El «Separador» está en «Automático», que detecta saltos de línea y comas, por lo que una lista copiada de una hoja de cálculo, un mensaje o un documento funciona sin necesidad de reformatearla. Fíjalo en «Saltos de línea», «Coma» o «Espacio» cuando los datos mezclen formatos. Ten en cuenta que elegir «Espacio» es siempre una decisión manual, ya que entradas como los nombres completos contienen espacios propios, y separarlos por defecto arruinaría la mayoría de las listas. «Cantidad» decide cuántas entradas se extraerán, de 1 a 100. ¿Vas a sortear tres premios entre 200 participantes? Pega los nombres, pon la «Cantidad» en 3 y haz clic en «Generar». Dos controles solo se activan cuando la cantidad es 2 o más y permanecen atenuados hasta entonces: «Sin duplicados», que decide si la misma entrada puede salir dos veces, y «Formato del resultado», que establece cómo se separan los elegidos («Uno por línea», «Separados por espacios» o «Separados por comas»).
Una fila de botones dentro del cuadro «Elementos» hace el trabajo de edición que de otro modo harías en otro lugar. «Cargar desde archivo» extrae una lista directamente de un archivo de texto plano o CSV. «Mezclar» reordena las entradas en el cuadro, «Ordenar» las organiza alfabéticamente (los números se ordenan de forma natural y un segundo clic invierte el orden) y «Borrar» vacía el contenido. «Rellenar con datos de muestra» introduce una pequeña lista de ejemplo para probar la herramienta con un solo clic, mientras que «Ampliar para ajustar el contenido» despliega el cuadro para ver listas largas en su totalidad y «Contraer al tamaño predeterminado» lo reduce de nuevo. Debajo del resultado, «Copiar todo» lleva todas las elecciones al portapapeles, «Guardar como archivo» las descarga y el «Historial» conserva los últimos 10 sorteos en el navegador, para tener siempre un resultado anterior a un clic de distancia.
¿Cómo se realiza realmente la elección? Al hacer clic en «Generar», la página solicita valores al azar al navegador mediante crypto.getRandomValues y los utiliza para elegir posiciones en tu lista, en lugar de recurrir a una función pseudoaleatoria de JavaScript como Math.random(). La conversión de un valor bruto de 32 bits en una posición es donde las herramientas suelen fallar silenciosamente: tomar el valor módulo la longitud de la lista es el enfoque obvio, pero introduce un sesgo (modulo bias). A menos que la longitud de la lista divida exactamente a 2^32, las entradas cercanas al principio aparecen con una frecuencia ligeramente mayor. Este selector descarta cualquier valor que supere el mayor múltiplo exacto de la longitud de la lista y vuelve a extraer, una técnica llamada muestreo de rechazo (rejection sampling). Cuesta unas cuantas extracciones adicionales, pero ofrece una garantía exacta en lugar de una aproximada. La posición en la lista no cambia nada: la primera y la última entrada tienen la misma probabilidad en cada sorteo.
La opción «Sin duplicados» separa dos tipos de sorteos realmente distintos, y la estadística tiene un nombre para cada uno. Al activarla, se mezcla una copia de la lista con el algoritmo de Fisher-Yates y se toman las entradas de la parte superior, igual que si se sacaran papeles de un sombrero sin volver a meterlos, por lo que nadie sale dos veces y cualquier grupo de ese tamaño tiene las mismas probabilidades. Esto es un muestreo sin reemplazo (sampling without replacement), y es lo que necesitas para premios, equipos y turnos. Al desactivarla, cada elección se hace de forma independiente a partir de la lista completa, por lo que la misma entrada puede salir más de una vez. Esto es un muestreo con reemplazo, ideal cuando todos los elementos siguen siendo elegibles en cada ronda. Ninguna de las dos modalidades es más justa que la otra; simplemente responden a preguntas diferentes.
Un sorteo justo no está hecho para parecerlo. Si extraes cinco nombres de diez, verás regularmente dos elecciones que estaban una al lado de la otra en la lista original, o el mismo nombre dos veces seguidas cuando se permiten duplicados, y todo eso es absolutamente normal. Cada extracción es independiente: las elecciones anteriores no influyen en absoluto sobre las posteriores, y a nadie le «toca» ganar por haber esperado. El instinto que insiste en lo contrario es la falacia del jugador (gambler's fallacy), el mismo instinto que nos hace muy malos para elegir al azar: cuando se nos pide que lo hagamos, evitamos la primera y la última entrada, evitamos repetir un nombre y distribuimos nuestras elecciones mucho más uniformemente de lo que lo hace el azar. Un resultado que parece sospechosamente ordenado lleva la huella de un ser humano; la verdadera aleatoriedad produce agrupaciones.
¿Por qué elegir este selector aleatorio?
- Elección solo en el navegador: la lista se lee en tu dispositivo y nunca se envía
- Aleatoriedad de la Web Crypto API: seguridad criptográfica, no Math.random()
- Sin sesgo de módulo: el muestreo de rechazo mantiene todas las entradas iguales
- Cualquier formato: una por línea, por coma o por espacio, sin reformatear
- Modo «Sin duplicados»: forma equipos o extrae ganadores sin que nadie repita
- Hasta 1000 entradas y hasta 100 extracciones en un solo sorteo
- Herramientas integradas: cargar archivo, mezclar, ordenar, borrar, datos de muestra
- Historial y guardar archivo: mantén un registro del sorteo para justificarlo
- Ilimitado y gratuito: sin registro, sin límites de uso, nada en nuestros servidores
La selección aleatoria aparece siempre que una elección debe sobrevivir a un cuestionamiento. En la educación, el personal docente llama a los estudiantes sin favoritismos y divide las clases en grupos de proyectos. En las transmisiones en vivo y el marketing, se sortean regalos ante un público que necesita creer en el resultado. En la oficina, los equipos deciden el orden de las presentaciones, establecen quién está de guardia o reparten las tareas que nadie quiere hacer. En la investigación, se extrae una muestra aleatoria de registros para una auditoría. E incluso en familia, termina la discusión sobre qué película ver o qué restaurante elegir. El hilo conductor es una elección que cualquiera puede explicar después: el sorteo utiliza aleatoriedad criptográfica, se realiza íntegramente en tu dispositivo y el «Historial» conserva el resultado si alguien pregunta por él más tarde.
Esta herramienta tiene algunos límites técnicos sinceros que conviene conocer. No puede extraer más entradas distintas de las que contiene la lista (tres premios necesitan al menos tres nombres) y se detiene en 1000 entradas de 200 caracteres cada una, con hasta 100 elecciones en un solo sorteo. «Mezclar» y «Ordenar» funcionan línea por línea, por lo que una lista separada por comas pegada en una sola línea no se reordenará hasta que haya una entrada por línea. Además, ambos botones reorganizan el cuadro, no el sorteo, que es igualmente justo sea cual sea el orden en el que estén las entradas. Todas las entradas tienen también exactamente el mismo peso por diseño, por lo que un sorteo en el que un nombre deba valer el doble necesitará que ese nombre figure dos veces. Dentro de esos límites, la garantía es absoluta: cada entrada de tu lista tiene exactamente las mismas posibilidades en cada sorteo.