Este gerador de letras aleatórias sorteia letras, números ou símbolos um de cada vez ou muitos de uma vez. Tudo acontece no seu navegador, e cada caractere aparece grande o bastante para ser lido em voz alta.
O que é um gerador de letras aleatórias?
Um gerador de letras aleatórias escolhe caracteres soltos de um conjunto que você define, e todos têm a mesma chance de sair. É uma ferramenta para sortear, não para montar: o resultado foi feito para ser lido um caractere de cada vez.
Caractere aleatório ou string aleatória
Os dois nomes soam quase iguais e servem para coisas bem diferentes.
Um gerador de strings aleatórias junta caracteres num único valor: um token, um identificador, uma linha de dados de teste. Aqui, ao contrário, você recebe os caracteres separados, porque vai lê-los em voz alta, escrevê-los na lousa ou dar um para cada pessoa.
As duas ferramentas usam o mesmo motor neste site. O que muda é a forma da resposta.
Letras, números e símbolos
Quase todo mundo que chega aqui quer uma letra ao acaso, e por isso a única opção marcada de início é a das minúsculas. São as 26 letras do alfabeto português, as mesmas de a–z, com o k, o w e o y que o Acordo Ortográfico trouxe de volta.
O ç não entra: o Acordo o lista à parte, como o c com cedilha, e nenhuma palavra começa com ele. Se você precisar dele, basta acrescentá-lo no alfabeto próprio.
Ligar números ou símbolos só amplia o conjunto. O gerador de letras aleatórias não dá mais peso a nenhum tipo, então, com maiúsculas e minúsculas ao mesmo tempo, cada maiúscula tem exatamente a mesma chance que cada minúscula.
O seu próprio alfabeto
As opções cobrem os conjuntos de costume. Quando precisar de outro — só vogais, as iniciais dos quatro naipes do baralho (C, E, O e P), alguns times reduzidos à inicial —, escreva os caracteres no campo de alfabeto próprio, e nada fora deles vai sair.
Os repetidos são eliminados antes do sorteio. Escrever aab não faz o a sair duas vezes mais, porque um sorteio justo é a única coisa que este gerador de letras aleatórias não negocia.
Um sorteio justo
Por que “aleatório o bastante” não basta
Se você está decidindo quem começa, ou com que letra se joga uma rodada, o sorteio precisa ser equilibrado. Um gerador de letras aleatórias que favorece sem avisar uma parte do alfabeto não faz um sorteio justo, por mais aleatório que o resultado pareça.
Um byte tem 256 valores possíveis, e 26 não cabe em 256 um número exato de vezes. Se os bytes forem convertidos em letras com uma operação de módulo, cada letra de a a v recebe 10 dos 256 valores e cada uma de w, x, y e z só 9, então as vinte e duas primeiras letras saem 11 por cento mais vezes. A amostragem por rejeição descarta os vinte e dois valores que sobram e sorteia de novo, e cada letra recebe 9 de cada 256 e a mesma chance.
Onze por cento parece pouco. Ao longo de um semestre de sorteios em sala, ou de um torneio de desempates, é a diferença entre um resultado justo e um que não é.
De onde vem o acaso
Os caracteres vêm de crypto.getRandomValues(), a fonte aleatória criptográfica do navegador, que se alimenta do ruído do hardware e de pequenas variações de tempo coletadas pelo sistema operacional.
Para transformar esses valores em caracteres do seu conjunto, usa-se amostragem por rejeição: os valores que cairiam de forma desigual são descartados e sorteados de novo. É isso que mantém a mesma chance para cada caractere.
O preço é jogar fora um valor de vez em quando. Não se nota no uso, e é o que separa um gerador de letras aleatórias que se pode defender de um que só parece aleatório.
Por que não Math.random()
Math.random() parte de uma semente e é determinístico. Quem recuperar a semente consegue prever todos os valores seguintes, e isso importa mais do que parece se alguém tiver motivo para manipular um sorteio.
Ele não é usado em nenhuma parte deste site, nem aqui, onde o que está em jogo costuma ser quem escolhe o tema primeiro. A fonte criptográfica custa o mesmo, então não há razão para se contentar com menos.
Com ou sem repetição
Permitir repetidas
Por padrão, cada sorteio é independente, então a mesma letra pode sair duas vezes. Isso não é defeito: é assim que o acaso de verdade se comporta, e obrigar cada caractere a ser diferente deixaria o resultado menos aleatório, não mais.
Sorteando oito letras de um alfabeto de 26, a chance de pelo menos duas coincidirem é de uns 70%. Um gerador de letras aleatórias que nunca repetisse estaria escondendo esse fato.
Sem repetir
Às vezes você precisa mesmo que todos sejam diferentes: dar uma letra distinta para cada aluno ou atribuir rótulos únicos. A opção “Sem repetir” transforma a escolha num sorteio sem reposição, e isso garante o resultado.
Por dentro, o conjunto disponível é embaralhado e os primeiros são entregues, então o resultado continua sendo um sorteio equilibrado. É distribuir cartas de um baralho bem embaralhado, e não jogar um dado várias vezes.
Se você pedir mais do que existe
Não dá para tirar 30 letras diferentes de um alfabeto de 26. Em vez de dar erro, o gerador de letras aleatórias ajusta a quantidade ao que o conjunto permite e mostra o máximo ao lado da opção.
Ligar números e maiúsculas aumenta esse máximo, porque o conjunto cresce a cada tipo que você acrescenta.
Para que serve
Na sala de aula
Sortear uma letra para treinar a escrita, revisar o alfabeto ou procurar palavras que comecem com ela. O gerador de letras aleatórias funciona bem aqui porque, quando sai um caractere só, ele aparece bem grande e dá para ler do fundo da sala.
Stop ou adedonha
É o jogo em que cada rodada tem uma letra e é preciso escrever, antes dos outros, um nome, uma cidade ou uma fruta que comecem com ela. Tem vários nomes — stop, adedonha, adedanha —, e a letra costuma sair dos dedos: cada um mostra alguns, e conta-se o alfabeto até chegar ao total.
Contar nos dedos não é um sorteio justo. Se três pessoas mostram os dedos de uma mão só, a soma não passa de 15, e nenhuma letra depois do O pode sair. Sorteie a letra de cada rodada aqui; com “Sem repetir” ligado e a quantidade maior, você já tem a ordem das letras da partida inteira.
Muitos grupos tiram o K, o W e o Y, que quase só aparecem em nomes estrangeiros, siglas e símbolos. Para jogar assim, escreva o resto no alfabeto próprio, abcdefghijlmnopqrstuvxz, e o gerador de letras aleatórias só vai sortear essas.
Jogos de palavras e passatempos
Definir uma letra inicial, distribuir peças ou criar restrições para um exercício de escrita. Ligue “Sem repetir” quando cada jogador precisar de uma letra diferente.
Aumentando a quantidade, você distribui várias de uma vez. Com sete letras e repetições permitidas, o gerador de letras aleatórias se parece bastante com tirar peças de um saquinho.
Sorteios e desempates
Decidir uma ordem, desfazer um empate ou escolher sem que ninguém possa dizer que o resultado foi manipulado. É o caso em que realmente importa o que foi explicado acima sobre o sorteio justo, e o motivo de este gerador de letras aleatórias usar o mesmo motor das ferramentas de segurança.
Para sorteios com números, o gerador de PIN entrega dígitos com um comprimento fixo, e o gerador de códigos aleatórios agrupa os caracteres em blocos fáceis de ler.
Perguntas frequentes
Como sorteio uma letra só?
Deixe a quantidade em um e marque só a opção “a–z”. Sai um único caractere, mostrado sozinho e grande o bastante para ser lido do fundo de uma sala.
O ç entra no sorteio?
Não, a não ser que você o acrescente. O alfabeto da língua portuguesa tem 26 letras, as mesmas de a–z; o Acordo Ortográfico lista o ç à parte, como o c com cedilha, junto dos dígrafos como ch e lh. Nenhuma palavra começa com ç, então ele também não faz falta numa partida de stop. Se precisar dele, escreva-o no alfabeto próprio.
O sorteio é justo de verdade?
Sim. Todos os caracteres do seu conjunto têm exatamente a mesma chance. A escolha usa amostragem por rejeição em vez de uma operação de módulo, que favoreceria sem avisar as primeiras letras do alfabeto em cerca de 11%.
A mesma letra pode sair duas vezes?
Por padrão, sim, porque cada sorteio é independente e repetições são o normal num sorteio ao acaso. Ligue “Sem repetir” quando precisar que todos os caracteres sejam diferentes, por exemplo ao distribuir letras num grupo.
O que acontece se eu pedir mais letras diferentes do que existem?
A quantidade fica limitada ao tamanho do seu conjunto, porque não dá para tirar 30 letras diferentes de um alfabeto de 26. Este gerador de letras aleatórias ajusta o número para você e mostra o máximo ao lado da opção.
Posso usar o meu próprio alfabeto?
Sim. Escreva os caracteres no campo “Alfabeto próprio” e só eles vão sair; um caractere repetido conta uma vez só. Serve, por exemplo, para jogar stop sem as letras que o seu grupo prefere evitar: escreva o alfabeto sem elas.
Qual a diferença para o gerador de strings aleatórias?
Este gerador de letras aleatórias devolve caracteres separados, para serem lidos um a um. O gerador de strings aleatórias junta os caracteres num único valor, para usar como token, identificador ou dado de teste.
Funciona sem internet?
Sim. Tudo acontece no seu navegador, então, depois que a página carrega, ele continua funcionando sem rede. Nada do que sai é enviado a lugar nenhum nem guardado.
Esses caracteres servem para uma senha?
Eles vêm da mesma fonte criptográfica que todo o resto deste site, então o acaso é sólido. Mesmo assim, o gerador de senhas é a ferramenta certa: ele garante a mistura de tipos de caracteres e mostra a força da senha.
Mais geradores gratuitos
Todos os geradores deste site funcionam no seu navegador, sem conta e sem limites, assim como este gerador de letras aleatórias. Os de chaves e segredos e o de UUID, por enquanto, só estão em inglês.
Ferramentas de senha
- Gerador de frases secretasPalavras em português ao acaso, fáceis de lembrar.
- Testador de força de senhaTeste uma senha sem enviá-la a lugar nenhum.
- Gerador de senhas fáceis de lembrarPalavras curtas em português que cabem num formulário.
- Gerador de senhas pronunciáveisSenhas que dá para dizer em voz alta.
Geradores aleatórios
Chaves e segredos
- API Key Generator (em inglês)Prefixed keys in common formats.
- Secret Key Generator (em inglês)128 to 512-bit secrets in hex or Base64.
- JWT Secret Generator (em inglês)HS256, HS384 and HS512 signing secrets.
- Salt Generator (em inglês)Random salts for password hashing.
- Hash Generator (em inglês)SHA-256, SHA-384 and SHA-512 in-browser.
Metodologia
Atualizado em
Como os caracteres são escolhidos
Cada caractere vem de crypto.getRandomValues() por amostragem por rejeição, então todos os do conjunto ativo têm a mesma chance. Math.random() não é usado.
Com “Sem repetir” ligado, o conjunto é embaralhado pelo algoritmo de Fisher-Yates, com a mesma fonte, e os primeiros são usados. Nada do que este gerador de letras aleatórias produz é guardado, enviado ou registrado.
As 26 letras e os números desta página
As opções seguem o alfabeto do Acordo Ortográfico da Língua Portuguesa (Base I): 26 letras, com o k, o w e o y. O ç e os dígrafos, como ch e lh, ficam de fora porque o Acordo os lista à parte; as vogais acentuadas também não entram, porque não são letras distintas. Se precisar delas, acrescente-as no seu alfabeto próprio.
Como 256 = 26 × 9 + 22, um atalho de módulo daria 10 de cada 256 valores a 22 letras e 9 às outras quatro: 11% a mais. Os 70% de repetições são 1 − (26 × 25 × … × 19) ÷ 26⁸.
Por que a entropia não aparece
Outras ferramentas deste site mostram a entropia porque o que elas geram precisa resistir a quem tenta adivinhar. Uma letra sorteada para um exercício em sala não é segredo, e pôr um número de bits ao lado dela daria a este gerador de letras aleatórias um propósito que ele não tem.
Se você precisa desse número, o gerador de strings aleatórias o mostra para o mesmo conjunto de caracteres.
Mesmo motor, outra ferramenta
A escolha dos caracteres reaproveita o motor do gerador de strings aleatórias, então uma correção em um beneficia os dois. O que faz disto um gerador de letras aleatórias, e não uma segunda ferramenta de strings, é tudo o que fica em volta desse motor: a interface, os valores padrão e a forma do resultado.