Gratuito, sem registo

Descodificar e codificar Base64

O Base64 escreve quaisquer dados com 64 caracteres seguros: «Olá, mundo!» passa a T2zDoSwgbXVuZG8h. Cole Base64 para o descodificar ou escreva texto para o codificar; a ferramenta trata acentos e emojis em UTF-8, a variante segura para URL usada em tokens, as linhas de 76 caracteres do correio eletrónico e ficheiros inteiros convertidos em data URL. Tudo corre no seu navegador e nada é enviado para um servidor.

Base64
T2zDoSwgbXVuZG8hIFByZcOnbzogMTIg4oKs
27 bytesEntrada (UTF-8)
36Caracteres Base64
CaracteresOláBytes (decimal · hex) e bits79 · 4f108 · 6c195 · c3010011110110110011000011Grupos de 6 bits1954513Base64T2zD
Os 3 primeiros bytes, bit a bit. Os bits tracejados são zeros acrescentados para completar o último grupo; os grupos em falta passam a =.

Como utilizar

  1. Escolha codificar ou descodificar. No separador Texto, selecione Codificar para transformar texto em Base64, ou Descodificar para ler uma cadeia Base64. Para imagens e documentos, use o separador Ficheiro.
  2. Cole ou escreva. O resultado atualiza-se enquanto escreve. Ao descodificar, os espaços e as quebras de linha são ignorados, e são aceites os alfabetos padrão e seguro para URL, com ou sem preenchimento.
  3. Copie ou descarregue. Copie o resultado com um clique. No separador Ficheiro pode copiar o data URL, descarregá-lo como ficheiro de texto ou converter Base64 colado de volta no ficheiro original.

Como funciona o Base64

Os computadores guardam os dados em bytes de 8 bits, mas muitos canais, como o correio eletrónico, os URL, o JSON e os atributos HTML, só transportam texto simples com segurança. O Base64 resolve o problema pegando nos bytes de 3 em 3 (24 bits) e dividindo-os em 4 grupos de 6 bits. Cada grupo de 6 bits é um número de 0 a 63 e escolhe um carácter de um alfabeto fixo: A–Z, a–z, 0–9, + e /.

Quando os dados não são múltiplo de 3 bytes, o último grupo completa-se com bits a zero e os caracteres em falta são substituídos por =. É por isso que «Man» dá TWFu, «Ma» dá TWE= e «M» dá TQ==. O desenho por baixo da ferramenta mostra o processo, bit a bit, para os três primeiros bytes do que escrever.

EntradaBytesBase64
Man3TWFu
Ma2TWE=
M1TQ==
ã2 (c3 a3)w6M=
€3 (e2 82 ac)4oKs

Cada 3 bytes passam a 4 caracteres, por isso o Base64 fica cerca de um terço maior do que o original: 30 000 bytes dão 40 000 caracteres, mais 33,3%. O texto é primeiro convertido em bytes com UTF-8: as letras sem acento ocupam 1 byte, mas um «ã» ou um «ç» ocupam 2 e o símbolo do euro ocupa 3.

Onde se usa o Base64

  • Anexos de correio eletrónico: o MIME codifica os ficheiros em Base64 e quebra as linhas aos 76 caracteres. Ative «Linhas de 76 caracteres» para obter o mesmo formato.
  • Data URL em HTML e CSS: um ícone pequeno pode ser incorporado como data:image/png;base64,…, poupando um pedido à página. Use o separador Ficheiro para o criar.
  • Tokens web: os JSON Web Tokens são três partes em base64url separadas por pontos. O cabeçalho {"alg":"HS256","typ":"JWT"} passa a eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9. Descodificar um token mostra o conteúdo, mas verificar a assinatura exige a chave.
  • Autenticação HTTP Basic: o cabeçalho «Authorization: Basic dXRpbGl6YWRvcjpzZW5oYQ==» é apenas utilizador:senha em Base64, e é por isso que só deve circular por HTTPS.
  • API e ficheiros de configuração: dados binários como certificados, chaves e imagens aparecem muitas vezes em JSON ou YAML codificados em Base64.

Base64 não é cifragem

O Base64 é uma codificação, não uma cifra: não há chave e qualquer pessoa o descodifica num segundo, com esta ferramenta ou com uma linha de código. Não esconde nada. Uma palavra-passe, uma chave de API ou dados pessoais guardados em Base64 ficam tão expostos como em texto simples.

Para proteger dados, use cifragem a sério (por exemplo AES) e envie-os por HTTPS; para guardar palavras-passe, use uma função de hash lenta concebida para esse fim. O Base64 só serve para os dados atravessarem em segurança sistemas que esperam texto. Para valores aleatórios, como um sorteio ou uma amostra de teste, veja o gerador de números aleatórios.

Esta ferramenta descodifica no seu navegador, por isso colar aqui um token não o envia para lado nenhum. Ainda assim, trate os tokens e as chaves de produção como segredos.

Variantes: segura para URL, preenchimento e quebras de linha

Os caracteres + e / têm um significado especial nos endereços web e nos nomes de ficheiro. A variante base64url substitui-os por - e _: os mesmos bytes dão PDw/Pz8+Pg== em Base64 padrão e PDw_Pz8-Pg== em base64url. O preenchimento = também costuma ser omitido, porque o comprimento da cadeia já indica onde acabam os dados.

O descodificador aceita os dois alfabetos e funciona com ou sem preenchimento. Mostra um erro preciso quando um carácter não pertence ao alfabeto (com a sua posição), quando o comprimento não pode ser válido ou quando aparece um = a meio da cadeia. Os espaços e as quebras de linha são ignorados, como exige o MIME.

Exemplos resolvidos

Codificar um texto curto

«Olá, mundo!» ocupa 12 bytes em UTF-8, porque o «á» conta como 2. 12 é múltiplo de 3, por isso o resultado tem 4 grupos de 4 caracteres e não precisa de =: T2zDoSwgbXVuZG8h.

Uma palavra com cedilha e til

«Coração» tem 7 letras, mas 9 bytes em UTF-8, porque o «ç» e o «ã» ocupam 2 cada: em Base64 fica Q29yYcOnw6Nv.

Ler um cabeçalho Basic

Cole dXRpbGl6YWRvcjpzZW5oYQ== em Descodificar e obtém utilizador:senha. As credenciais ficam legíveis para quem vir o cabeçalho.

O símbolo do euro

O euro é o carácter U+20AC; em UTF-8 são os 3 bytes e2 82 ac, que dão 4oKs.

Fontes

  • RFC 4648, «The Base16, Base32, and Base64 Data Encodings» (IETF, 2006): secção 4 (alfabeto Base64), secção 5 (base64url), secção 3.2 (preenchimento), secção 3.3 (caracteres fora do alfabeto) e secção 10 (vetores de teste).
  • RFC 2045, «Multipurpose Internet Mail Extensions (MIME) Part One» (IETF, 1996), secção 6.8: codificação Base64 com linhas de no máximo 76 caracteres.
  • RFC 7519, «JSON Web Token (JWT)» (IETF, 2015): uso de base64url sem preenchimento.
  • RFC 3629, «UTF-8, a transformation format of ISO 10646» (IETF, 2003): número de bytes por carácter.

Fontes verificadas em 22/10/2026. Os exemplos desta página são calculados com o mesmo código da ferramenta, por isso as cadeias do texto coincidem sempre com o que ela produz.

Perguntas frequentes

Como se descodifica Base64?
Selecione Descodificar e cole a cadeia. O texto aparece de imediato. Se os bytes não forem texto, por exemplo uma imagem, a ferramenta mostra-os em hexadecimal e o separador Ficheiro permite descarregar o ficheiro.
O Base64 é uma cifra?
Não. É uma codificação reversível sem chave: qualquer pessoa a descodifica. Nunca a use para proteger palavras-passe ou dados pessoais.
Porque é que o Base64 acaba em = ou ==?
Os sinais = são preenchimento. O Base64 trabalha em grupos de 3 bytes; se o último grupo tiver só 2 bytes, acrescenta-se um =, se tiver 1 byte, acrescentam-se dois.
Porque é que o Base64 é maior do que o original?
Porque 3 bytes passam a 4 caracteres, um aumento de cerca de 33%. 30 000 bytes dão 40 000 caracteres, antes de eventuais quebras de linha.
Qual é a diferença entre Base64 e base64url?
O base64url usa - e _ em vez de + e /, por isso pode ir em URL e nomes de ficheiro sem escapes. Está definido na secção 5 do RFC 4648 e é o formato dos tokens JWT.
Porque aparece o erro «carácter inválido»?
A cadeia contém um carácter fora do alfabeto Base64, muitas vezes umas aspas, um % de codificação de URL ou um carácter acrescentado ao copiar e colar. A mensagem indica qual e onde; retire-o e tente de novo.
Os acentos ficam bem ao descodificar?
Sim, desde que o texto tenha sido codificado em UTF-8, como faz esta ferramenta. Se aparecerem caracteres estranhos em vez de «ç» ou «ã», o Base64 foi provavelmente gerado a partir de outra codificação, como a Windows-1252.
Os meus ficheiros são enviados para algum lado?
Não. Os ficheiros são lidos e convertidos pelo seu navegador, no seu dispositivo. Nada é enviado para um servidor.

Última atualização: quarta-feira, 14 de outubro de 2026