Codificador ROT13
Hello, World! vira Uryyb, Jbeyq! e o mesmo passo desfaz tudo: cada letra latina avança 13 posições e a pontuação fica onde está. Útil para esconder spoilers e respostas de enigmas, nunca segredos de verdade. 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
- Hello, World!
- Resultado
- Uryyb, Jbeyq!
- Comprimento
- 13
- Letras giradas
- 10
ROT13 é a cifra clássica de substituição de letras que gira cada letra latina treze posições no alfabeto e deixa intactos dígitos, espaços e pontuação. Como o alfabeto tem vinte e seis letras, aplicar a mesma rotação duas vezes restaura o texto original, então uma única operação determinística codifica e decodifica. Usa-se para esconder spoilers em fóruns, ofuscar levemente respostas de passatempos, ensinar cifras de César em sala e validar pipelines de strings sem instalar bibliotecas de cripto.
Como o ROT13 gira as letras
O ROT13 troca cada letra pela que está treze posições à frente no alfabeto, voltando ao começo depois do Z. O A vira N, o N vira A e Hello vira Uryyb. Como o alfabeto latino tem vinte e seis letras, treze é exatamente a metade, e andar treze posições duas vezes leva de volta ao ponto de partida. Por isso uma única operação esconde e revela o texto: cole o original para embaralhar e cole a versão embaralhada para ler. Maiúsculas e minúsculas giram separadamente, então as maiúsculas continuam maiúsculas.
Quando o ROT13 serve e quando não serve
O ROT13 vem da época da Usenet e ainda aparece em fóruns para esconder spoilers, deixando o leitor decidir se quer ver. Também é usado em respostas de charadas, easter eggs e aulas sobre a cifra de César. Não é criptografia: quem conhece o truque desfaz na hora, então nunca o use para senhas ou dados pessoais. Uma surpresa comum é que números e pontuação não mudam e as letras acentuadas ficam como estão, então uma mensagem cheia de dígitos continua legível.
Codificar, decodificar, validação e erros comuns
Não há modo separado de codificar ou decodificar: o mesmo formato de requisição faz as duas direções. Cole spoilers em texto puro para escondê-los, ou texto já rotacionado para revelá-los. Frases com maiúsculas e minúsculas mistas preservam o caso porque os alfabetos superior e inferior giram de forma independente.
Letras não ASCII como latinas acentuadas ou cirílicas não são rotacionadas pelo ROT13 clássico; passam inalteradas para o algoritmo permanecer fiel à definição da era Usenet que as pessoas buscam. Não trate o resultado como cifragem: quem conhece o esquema pode revertê-lo na hora, e a página do produto nunca deve vender ROT13 como controle de segurança para segredos, senhas ou dados pessoais.
Prefira esta página quando a intenção de busca for literalmente codificador rot13 ou cifra rot13; calculadoras gerais de César e codificadores Base64 ou hex respondem a intenções diferentes e devem permanecer ferramentas separadas.
Casos de uso
Ofuscação de spoilers e passatempos
Esconda spoilers, respostas de enigmas e easter eggs em ROT13 para leitores optarem por ver, e reverta a mesma string com mais uma chamada.
Perguntas frequentes
Como codifico texto com ROT13?
O campo result da resposta contém a string rotacionada; method é sempre rot13.
Como decodifico ROT13?
Use a mesma requisição. ROT13 é a própria inversa: cole o texto rotacionado em text e o result é o conteúdo original de letras latinas.
O codificador ROT13 é gratuito?
A ferramenta do navegador roda grátis no seu dispositivo.
O ROT13 cifra meus segredos com segurança?
Não. ROT13 é uma substituição reversível trivial para spoilers e ensino, não para confidencialidade. Nunca o use para senhas ou dados sensíveis.
O ROT13 muda letras acentuadas ou outros alfabetos?
Não. Só giram as letras simples de A a Z, maiúsculas e minúsculas. Letras acentuadas, o ç, o cirílico e outras escritas passam sem mudança, como manda a definição clássica do ROT13.
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/enc/rot13 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello, World!"}'const res = await fetch("https://api.kit.forhosting.com/enc/rot13", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello, World!"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/rot13",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello, World!"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/rot13", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello, World!"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello, World!"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/rot13", 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": "Hello, World!"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.rot13",
"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.
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
Esta capacidade recebe um campo text não vazio, devolve a string transformada com a contagem de letras giradas e rejeita entrada vazia com um erro claro invalid_input.
Como o ROT13 funciona e o que a resposta contém
ROT13 é uma cifra de César com deslocamento fixo de treze. Letras maiúsculas A a Z mapeiam para N a Z e depois A a M; minúsculas a a z seguem a mesma rotação modular no próprio alfabeto. Caracteres fora desses intervalos—dígitos, pontuação, espaços, emoji e scripts não latinos—passam inalterados para que as mensagens mantenham a forma. Envie um corpo JSON com o campo string obrigatório text em qualquer mensagem não vazia; os aliases input, value e s são aceitos quando clientes reutilizam nomes de formulários antigos. Strings vazias falham imediatamente com invalid_input porque não há nada significativo a transformar e a promessa do produto é um resultado real de substituição. Em sucesso a resposta inclui result com o texto transformado, method igual a rot13 para código posterior ramificar sem adivinhar formas, length igual à contagem de caracteres de entrada e letters_rotated contando quantas unidades A–Z ou a–z realmente se moveram. Entradas idênticas sempre produzem JSON idêntico porque o caminho é aritmética pura de caracteres sem rede, sem semente aleatória e sem relógio. Use letters_rotated quando quiser afirmar que strings cheias de pontuação ainda foram processadas corretamente sem inventar um segundo campo de modo.
Codificar, decodificar, validação e erros comuns
Text ausente, não string ou string vazia geram invalid_input e não são cobrados na API pré-paga. Strings só de espaços com comprimento maior que zero são aceitas; só as letras giram, então uma string de espaços devolve a si mesma com letters_rotated igual a zero.
Uso da API, preços, fluxos de sala e limites práticos
Use o codificador rot13 gratuito no navegador para spoilers de fóruns, rascunhos de passatempos, demos de aula e checagens pontuais sem instalar openssl nem escrever um one-liner em cada linguagem. Um fluxo típico de sala mostra aos alunos que deslocar treze duas vezes devolve a mensagem original e depois contrasta isso com uma cifra com chave real mais adiante no programa. Playbooks de suporte podem reverter notas de tickets levemente ofuscadas que a equipe escreveu de propósito em ROT13. Combine com ferramentas Base64 ou de codificação URL só quando um passo de transporte posterior precisar de outro alfabeto—mantenha ROT13 na sua própria página para que a intenção SEO continue nítida. Use a API pré-paga do KIT quando um backend, função serverless, plataforma de tutoria ou SDK precisar de um contrato estável com saldo a US$ 0,002 por item bem-sucedido; falhas de validação nunca consomem saldo após a rejeição do motor. Sites de passatempos podem pré-calcular respostas para exibição e revelá-las sob demanda com o mesmo endpoint. Autores que publicam SDKs podem mapear o campo result direto para um botão de copiar, enquanto method e letters_rotated tornam os exemplos OpenAPI autoexplicativos. Mantenha os payloads em tamanhos de texto comuns adequados a uma chamada de item em isolate Worker; esta ferramenta é para mensagens e trechos, não para blobs binários de vários megabytes.
Casos de integração
Demos de cifra de César em sala
Professores mostram que um deslocamento fixo de treze é uma involução: codifique, decodifique e compare letters_rotated sem instalar CAS ou biblioteca de cripto.
Fixtures de pipeline e CI
Scripts e testes de integração contínua fixam saídas determinísticas de ROT13 para que mudanças acidentais de alfabeto ou de maiúsculas falhem rápido.
Perguntas técnicas
O que acontece se text estiver vazio?
A requisição falha com invalid_input. É exigida uma string não vazia; entrada vazia não é cobrada na API pré-paga.