{ }JSONKit.tools

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.

Codificar⇄Decodificar

Texto

Base64

Aguardando a entrada…

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

  1. 1Cole ou digite à esquerda o texto que você quer codificar.
  2. 2Ative Seguro para URL se o resultado for parar numa URL, num nome de arquivo ou num JWT.
  3. 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")).