Codificar Base64 Online
Transforme qualquer texto em Base64 — emojis e alfabetos não latinos inclusos. Ative Seguro para URL quando o resultado precisar viajar dentro de uma URL ou de um JWT.
Texto
Base64
Sobre esta ferramenta
Base64 existe para levar bytes quaisquer por canais que só aceitam texto: um cabeçalho HTTP, um data URI, o corpo de um e-mail, uma string JSON. Este codificador converte sua entrada para UTF-8 primeiro, e é isso que faz o texto não latino e os emojis voltarem intactos — o próprio btoa() do navegador os rejeita de cara. A chave Seguro para URL troca + e / por - e _ e descarta o preenchimento =, a variante usada por JWTs e parâmetros de URL.
Como usar
- 1Cole ou digite à esquerda o texto que você quer codificar.
- 2Ative Seguro para URL se o resultado for parar numa URL, num nome de arquivo ou num JWT.
- 3Clique em Copiar — decodificar de volta fica a um clique na página Decodificar Base64.
Perguntas frequentes
›Por que o Base64 deixa meus dados maiores?
Ele codifica a cada 3 bytes como 4 caracteres imprimíveis, então a saída fica cerca de 33% maior. Esse é o preço de mover dados binários por um canal que só aceita texto.
›O que é Base64 seguro para URL?
O alfabeto padrão usa + e /, que têm significado próprio numa URL, e o preenchimento =, que precisa ser escapado. A variante segura para URL troca esses por - e _ e descarta o preenchimento, então o resultado pode entrar direto num caminho ou numa query string. JWTs usam exatamente essa variante.
›Ele lida com emojis e texto não latino?
Lida. O texto é codificado como UTF-8 primeiro, então cirílico, chinês e emojis sobrevivem intactos. O ingênuo btoa(texto) do navegador lança erro em qualquer caractere acima de U+00FF.
›Base64 é criptografia?
Não, e isso importa. É uma codificação, não uma cifra — qualquer um decodifica na hora, sem chave nenhuma. Nunca use para esconder uma senha ou um token.
›Como faço isso pela linha de comando?
No macOS e no Linux: printf %s "texto" | base64. Para decodificar, acrescente a opção -d. O PowerShell do Windows precisa de [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("texto")).