Generador de letras aleatorias

Una letra, un número o un símbolo al azar, con la misma probabilidad para cada uno.

Tu carácterSe elige en tu navegador
Tipos de caracteres
Alfabeto propio y formato al copiar
Formato al copiar

Este generador de letras aleatorias saca letras, números o símbolos de uno en uno o muchos a la vez, con la ñ incluida. Todo ocurre en tu navegador, y cada carácter aparece lo bastante grande para leerlo en voz alta.

¿Qué es un generador de letras aleatorias?

Un generador de letras aleatorias elige caracteres sueltos de un conjunto que decides tú, y todos tienen la misma probabilidad de salir. Es una herramienta para sortear, no para construir: lo que produce está pensado para leerse carácter a carácter.

Carácter aleatorio o cadena aleatoria

Suenan casi igual y sirven para cosas muy distintas.

Un generador de cadenas aleatorias une caracteres en un solo valor: un token, un identificador, una fila de datos de prueba. Aquí, en cambio, recibes los caracteres por separado, porque los vas a leer en voz alta, a escribir en la pizarra o a repartir uno a cada persona.

Las dos herramientas usan el mismo motor en este sitio. Lo que cambia es la forma de la respuesta.

Letras (con la ñ), números y símbolos

Casi todo el que llega aquí busca una letra al azar, y por eso la única casilla marcada de inicio es la de minúsculas. Incluye la ñ: el abecedario español tiene 27 letras, y un sorteo que la dejara fuera no sería un sorteo de ese abecedario.

La ch y la ll no aparecen, porque desde 2010 la RAE las considera dígrafos y no letras. La k y la w sí son letras del abecedario, y entran como cualquier otra.

Activar números o símbolos solo amplía el conjunto. El generador de letras aleatorias no da más peso a ningún tipo, así que, con mayúsculas y minúsculas a la vez, cada mayúscula es exactamente igual de probable que cada minúscula.

Tu propio alfabeto

Las casillas cubren los conjuntos habituales. Cuando necesites otro —solo vocales, las iniciales de los palos de la baraja española (O, C, E y B), unos cuantos equipos reducidos a su inicial—, escribe los caracteres en el campo de alfabeto propio y no saldrá nada fuera de ellos.

Los duplicados se eliminan antes de sortear. Escribir aab no hace que la a salga el doble, porque un sorteo justo es lo único que este generador de letras aleatorias no negocia.

Un sorteo justo

Por qué «bastante aleatorio» no basta

Si decides quién empieza, o con qué letra se juega una ronda, el sorteo tiene que ser parejo. Un generador de letras aleatorias que favorece sin avisar una parte del abecedario no hace un sorteo justo, por muy aleatorio que parezca el resultado.

Un byte tiene 256 valores posibles, y 27 no cabe en 256 un número exacto de veces. Si los bytes se convierten en letras con una operación de módulo, cada letra de la a a la m recibe 10 de los 256 valores y cada una de la n a la z, ñ incluida, solo 9, así que las trece primeras letras salen un 11 % más. El muestreo por rechazo descarta los trece valores sobrantes y vuelve a sacar, de modo que cada letra recibe 9 de cada 256 y la misma probabilidad.

Un byte tiene 256 valores, y 27 no cabe en 256 un número exacto de veces. Con un atajo de módulo, los 13 valores que sobran van a parar a las letras de la a a la m, que salen un 11 % más.Las barras son exactamente proporcionales: 10 y 9 de cada 256. El mismo mecanismo se explica con más detalle en la página del generador de cadenas aleatorias.

Un 11 % parece poco. A lo largo de un curso de sorteos en clase, o de un torneo de desempates, es la diferencia entre un resultado justo y uno que no lo es.

De dónde sale el azar

Los caracteres salen de crypto.getRandomValues(), la fuente aleatoria criptográfica del navegador, que se alimenta del ruido del hardware y de pequeñas variaciones de tiempo que recoge el sistema operativo.

Para convertir esos valores en caracteres de tu conjunto se usa muestreo por rechazo: los valores que caerían de forma desigual se descartan y se vuelven a sacar. Eso es lo que mantiene la misma probabilidad para cada carácter.

El precio es tirar de vez en cuando algún valor. No se nota al usarlo, y es lo que separa un generador de letras aleatorias que se puede defender de uno que solo parece aleatorio.

Por qué no Math.random()

Math.random() parte de una semilla y es determinista. Quien recupere la semilla puede predecir todos los valores siguientes, y eso importa más de lo que parece si alguien tiene motivos para amañar un sorteo.

No se usa en ninguna parte de este sitio, tampoco aquí, donde lo que está en juego suele ser quién elige tema primero. La fuente criptográfica cuesta lo mismo, así que no hay razón para conformarse con menos.

Con o sin repetición

Permitir repetidas

De forma predeterminada cada elección es independiente, así que la misma letra puede salir dos veces. No es un fallo: así se comporta el azar de verdad, y obligar a que cada carácter sea distinto haría el resultado menos aleatorio, no más.

Si sacas ocho letras de un alfabeto de 27, hay un 68 % de probabilidades de que al menos dos coincidan. Un generador de letras aleatorias que nunca repitiera estaría escondiendo ese dato.

Sin repetir

A veces sí necesitas que todos sean distintos: repartir una letra diferente a cada alumno o asignar etiquetas únicas. La casilla «Sin repetir» convierte la elección en un sorteo sin reemplazo, y eso lo garantiza.

Por dentro, se baraja el conjunto disponible y se toman los primeros, así que el resultado sigue siendo un sorteo parejo. Es repartir cartas de una baraja bien mezclada en lugar de tirar un dado una y otra vez.

Si pides más de las que hay

No se pueden sacar 30 letras distintas de un alfabeto de 27. En lugar de fallar, el generador de letras aleatorias ajusta la cantidad a lo que permite el conjunto y muestra el máximo junto a la casilla.

Activar números y mayúsculas sube ese máximo, porque el conjunto crece con cada tipo que añades.

Para qué se usa

En clase

Sacar una letra para practicar la escritura, repasar el abecedario o buscar palabras que empiecen por ella. El generador de letras aleatorias encaja bien aquí porque, cuando sale un solo carácter, se muestra muy grande y se lee desde el fondo del aula.

Stop, Basta o Tutti frutti

Es el juego en el que cada ronda tiene una letra y hay que escribir, antes que nadie, un nombre, un país o una fruta que empiecen por ella. Cambia de nombre según el país: Tutti frutti en Argentina y Uruguay, Stop en Chile o Colombia, Basta en México y Alto el lápiz en España.

Para jugar, saca una letra al azar en cada ronda. Si activas «Sin repetir» y subes la cantidad, tienes de golpe el orden de las letras de toda la partida, sin que ninguna salga dos veces.

Muchos grupos prefieren quitar las letras más difíciles, pero no hay una lista oficial de cuáles son. Si en tu mesa no se juega con la q, la w, la x ni la y, escribe el resto en el alfabeto propio, abcdefghijklmnñoprstuvz, y el generador de letras aleatorias solo sacará esas.

Juegos de palabras y pasatiempos

Fijar una letra inicial, repartir fichas o poner condiciones a un ejercicio de escritura. Activa «Sin repetir» cuando cada jugador necesite una letra distinta.

Si subes la cantidad, repartes varias de golpe. Con siete letras y repeticiones permitidas, el generador de letras aleatorias se parece bastante a sacar fichas de una bolsa.

Sorteos y desempates

Decidir un orden, deshacer un empate o elegir sin que nadie pueda decir que el resultado estaba amañado. Es el caso en el que de verdad importa lo que se explica arriba sobre el sorteo justo, y la razón por la que este generador de letras aleatorias usa el mismo motor que las herramientas de seguridad.

Para sorteos con números, el generador de PIN da dígitos con una longitud fija, y el generador de códigos aleatorios agrupa los caracteres en bloques fáciles de leer.

Preguntas frecuentes

¿Cómo saco una sola letra al azar?

Deja la cantidad en uno y marca solo la casilla «a–z, ñ». Sale un único carácter, que se muestra solo y con un tamaño que se lee desde el fondo de una clase.

¿Incluye la ñ?

Sí. La casilla de minúsculas incluye la ñ y la de mayúsculas, la Ñ, así que el sorteo es entre las 27 letras del abecedario español. La ch y la ll no entran: desde 2010 la RAE las considera dígrafos, es decir, combinaciones de dos letras, y no letras propias.

¿El sorteo es justo de verdad?

Sí. Todos los caracteres de tu conjunto tienen exactamente la misma probabilidad. La elección usa muestreo por rechazo en lugar de una operación de módulo, que favorecería sin avisar a las primeras letras del abecedario en torno a un 11 %.

¿Puede salir la misma letra dos veces?

De forma predeterminada, sí, porque cada elección es independiente y las repeticiones son lo normal en un sorteo al azar. Activa «Sin repetir» cuando necesites que todos los caracteres sean distintos, por ejemplo al repartir letras en un grupo.

¿Qué pasa si pido más letras distintas de las que hay?

La cantidad se limita al tamaño de tu conjunto, porque no se pueden sacar 30 letras distintas de un alfabeto de 27. Este generador de letras aleatorias ajusta el número por ti y muestra el máximo junto a la casilla.

¿Puedo usar mi propio alfabeto?

Sí. Escribe los caracteres en el campo «Alfabeto propio» y solo saldrán esos; si repites alguno, cuenta una sola vez. Sirve, por ejemplo, para jugar a Stop sin las letras que tu grupo prefiere evitar: escribe el abecedario sin ellas.

¿En qué se diferencia del generador de cadenas aleatorias?

Este generador de letras aleatorias devuelve caracteres sueltos, pensados para leerse uno a uno. El generador de cadenas aleatorias los une en un único valor, para usarlo como token, identificador o dato de prueba.

¿Funciona sin conexión?

Sí. Todo ocurre en tu navegador, así que, una vez cargada la página, sigue funcionando sin red. Nada de lo que sale se envía a ningún sitio ni se guarda.

¿Sirven estos caracteres para una contraseña?

Salen de la misma fuente criptográfica que todo lo demás en este sitio, así que el azar es sólido. Aun así, el generador de contraseñas encaja mejor: garantiza que haya varios tipos de caracteres y te dice lo segura que es la contraseña.

Más generadores gratuitos

Todas las herramientas de este sitio funcionan en tu navegador, sin cuenta y sin límites, igual que este generador de letras aleatorias. Las de claves y secretos y la de UUID, de momento, solo están en inglés.

Metodología

Actualizado el

Cómo se eligen los caracteres

Cada carácter sale de crypto.getRandomValues() mediante muestreo por rechazo, así que todos los del conjunto activo son igual de probables. Math.random() no se usa.

Con «Sin repetir» activado, el conjunto se baraja con el algoritmo de Fisher-Yates, alimentado por la misma fuente, y se toman los primeros. Nada de lo que produce este generador de letras aleatorias se guarda, se envía ni se registra.

Las 27 letras y las cifras de esta página

Las casillas siguen el abecedario de la Ortografía de la lengua española (RAE y ASALE, 2010): 27 letras, con la ñ después de la n. La ch y la ll quedan fuera por ser dígrafos, y las vocales con tilde tampoco entran, porque no son letras distintas; si las necesitas, añádelas en tu alfabeto propio.

Como 256 = 27 × 9 + 13, un atajo de módulo daría 10 de cada 256 valores a trece letras y 9 al resto: un 11 % más. El 68 % de las repeticiones es 1 − (27 × 26 × … × 20) ÷ 27⁸.

Por qué no se muestra la entropía

Otras herramientas de este sitio muestran la entropía porque lo que generan tiene que resistir que lo adivinen. Una letra sacada para un ejercicio de clase no es un secreto, y poner una cifra de bits a su lado le daría a este generador de letras aleatorias un propósito que no tiene.

Si necesitas esa cifra, el generador de cadenas aleatorias la muestra para el mismo conjunto de caracteres.

Mismo motor, otra herramienta

La selección de caracteres reutiliza el motor del generador de cadenas aleatorias, así que una corrección en uno beneficia a los dos. Lo que hace de esto un generador de letras aleatorias, y no una segunda herramienta de cadenas, es todo lo que rodea a ese motor: la interfaz, los valores predeterminados y la forma del resultado.