Converter texto para leetspeak
Passe seu texto para 1337 e decida quanto muda: na intensidade média, 16 das 31 letras convertíveis da frase de exemplo viram dígitos; a leve troca uma a cada três e a extrema, todas. Mesmo texto, mesmo resultado. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Texto
- Leetspeak replaces letters with look-alike digits.
- Intensidade
- Médio
- Produção
- 1e3t5pe4k rep1ac3s 1e7t3rs w1th 1o0k-a1ik3 dig1t5.
- Elegível
- 31
- Substituídos
- 16
O conversor de leetspeak reescreve qualquer texto trocando letras pelos seus equivalentes clássicos do 1337 — o a vira 4, o e vira 3, o t vira 7 — mas, diferente de um tradutor de tudo ou nada, permite escolher quanto do texto será convertido. Escolha a intensidade leve para alterar cerca de um terço das letras elegíveis, a média para metade ou a extrema para converter todas. A substituição é totalmente determinística, de modo que a mesma entrada com a mesma intensidade produz sempre a mesma saída, o que a torna segura para pipelines, testes e conteúdo gerado.
O que é leetspeak e por que a intensidade importa
Leetspeak, também escrito 1337 ou leet, é o alfabeto de substituições que nasceu na cultura dos primeiros bulletin boards: letras são trocadas por dígitos e símbolos parecidos, de modo que «elite» vira «3l1t3». A maioria dos conversores trata isso de forma binária — a letra é substituída sempre ou nunca — produzindo um resultado ilegível ou idêntico ao original. Os usos reais raramente ficam nesses extremos.
Um nick de jogador quer a conversão completa para ostentar o estilo; uma dica de senha ou um título estilizado quer apenas um toque, suficiente para sugerir o estilo sem sacrificar a legibilidade. O conversor de leetspeak expõe esse meio-termo por meio de um único parâmetro de intensidade. A intensidade leve substitui cada terceira letra que tem equivalente leet, a média substitui uma a cada duas e a extrema substitui todas.
Como a decisão se baseia na posição de cada letra entre as elegíveis, o resultado é estável: execute duas vezes com o mesmo texto e intensidade e você obterá exatamente a mesma string, byte a byte, sem qualquer aleatoriedade no processo.
Como funciona o motor de substituição
O conversor percorre a string de entrada uma única vez, caractere por caractere, com uma tabela clássica fixa: a para 4, e para 3, i e l para 1, o para 0, s para 5, t para 7, b para 8. A comparação não diferencia maiúsculas, então «A» e «a» são candidatas, e todo caractere sem entrada na tabela — dígitos, pontuação, espaços, acentos, emoji — passa intacto.
Cada letra candidata é contada ao aparecer, e a intensidade decide quais serão substituídas: com a leve, apenas as candidatas nas posições zero, três, seis e assim por diante; com a média, as candidatas em posição par; com a extrema, todas. Essa regra posicional é o que torna a saída reproduzível sem nenhuma fonte de aleatoriedade, o que importa quando se comparam resultados entre ambientes ou se armazenam para depois.
A resposta inclui a string convertida junto com a intensidade usada, o número de letras elegíveis encontradas e quantas foram realmente substituídas, para que chamadas automatizadas possam verificar o efeito.
Onde as pessoas realmente usam
O uso mais comum é a criação de nomes: nicks de jogador, nomes de clã, identificadores de fórum e nomes de redes Wi-Fi que precisam ser lidos como palavras normais, mas se destacar à primeira vista — caso em que a intensidade média costuma acertar o ponto entre estilo e legibilidade.
Desenvolvedores usam para gerar massas de teste — strings com aparência ofuscada que ainda podem ser localizadas como o original — e para construir wordlists para auditorias de segurança, onde a substituição sistemática de letras é uma mutação padrão aplicada a termos de dicionário. Gestores de comunidade e criadores de conteúdo usam a intensidade leve para dar a um título ou post um ar retrô de hacker sem torná-lo ilegível para o público geral.
Valores de intensidade não suportados falham imediatamente com um erro explícito, mantendo visíveis as integrações mal configuradas durante o desenvolvimento, em vez de produzir silenciosamente resultados inesperados em produção.
Casos de uso
Estilizar um nick de jogador
Converta um apelido com intensidade média para que continue legível, mas inconfundivelmente leet, obtendo uma variante estilizada que pode ser reutilizada de forma consistente.
Montar wordlists para auditoria de senhas
Aplique a intensidade extrema a termos de dicionário para gerar as mutações leet sistemáticas que as ferramentas de segurança testam durante auditorias de credenciais.
Dar um toque retrô a um título
Passe um título com intensidade leve para salpicar algumas substituições 1337: o suficiente para sugerir o estilo sem prejudicar a legibilidade para o público geral.
Perguntas frequentes
Quanto custa?
Também é grátis executar no seu navegador nesta página — o mesmo código produz os dois resultados.
Quais são os níveis de intensidade?
A leve substitui cada terceira letra elegível, a média uma a cada duas e a extrema todas. O padrão é a média.
Quais letras são substituídas?
Uma tabela clássica fixa: a→4, e→3, i→1, o→0, s→5, t→7, l→1 e b→8. Sem distinção de maiúsculas; todo o resto passa inalterado.
A saída é sempre a mesma?
Sim. A substituição é posicional e sem aleatoriedade, então o mesmo texto com a mesma intensidade produz sempre uma saída idêntica.
Ele converte leetspeak de volta para texto normal?
Não. Esta capacidade só converte texto normal para leetspeak; para decodificar uma string leet existente, use a capacidade tradutora de leetspeak.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/text/leetspeak-convert \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Leetspeak replaces letters with look-alike digits."}'const res = await fetch("https://api.kit.forhosting.com/text/leetspeak-convert", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Leetspeak replaces letters with look-alike digits."
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/text/leetspeak-convert",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Leetspeak replaces letters with look-alike digits."
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/text/leetspeak-convert", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Leetspeak replaces letters with look-alike digits."}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Leetspeak replaces letters with look-alike digits."}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/text/leetspeak-convert", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"text": "Leetspeak replaces letters with look-alike digits."
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "text.leetspeak_convert",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_mb | 1 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Funciona grátis no seu navegador nesta página e via API por US$ 0,002 por chamada.
Como funciona o motor de substituição
O texto é obrigatório, deve ser uma string não vazia até o limite de tamanho publicado, e um valor de intensidade não reconhecido é rejeitado com um erro invalid_input claro, em vez de um fallback silencioso.
Onde as pessoas realmente usam
Como o algoritmo é determinístico e não tem dependências, a mesma conversão roda de forma idêntica na ferramenta gratuita do navegador nesta página e na API paga, então você pode prototipar colando texto e pagar apenas US$ 0,002 por chamada quando integrar a um fluxo automatizado.
Perguntas técnicas
O que acontece com uma intensidade inválida?
A chamada é rejeitada com um erro invalid_input que informa os valores aceitos (light, medium, extreme) e nada é cobrado.