Codificar e Decodificar Base64

Converta textos e arquivos para Base64 e vice-versa, com suporte completo a acentos.

Processado no seu navegador: nada do que você digita ou envia sai do seu dispositivo.

Base64: o que é e como codificar e decodificar

Base64 é um método para representar dados binários (imagens, arquivos, bytes de qualquer tipo) usando apenas 64 caracteres de texto: as letras A–Z e a–z, os números 0–9 e os símbolos + e /, com = como preenchimento no final. Ele existe porque muitos canais só transportam texto com segurança — e-mails, JSON, XML, URLs, cabeçalhos HTTP — e bytes arbitrários seriam corrompidos no caminho.

Esta ferramenta codifica e decodifica textos com suporte completo a acentos e emojis (UTF-8), converte arquivos em Base64 e Data URI e transforma Base64 de volta em arquivo para download. Tudo acontece no navegador, sem enviar nada para servidores.

Como funciona a codificação

O Base64 pega os dados em grupos de 3 bytes (24 bits) e os divide em 4 blocos de 6 bits; cada bloco vira um dos 64 caracteres. Por isso o resultado é sempre cerca de 33% maior que o original. Quando o número de bytes não é múltiplo de 3, o final recebe um ou dois sinais de =.

Exemplo: o texto Olá em UTF-8 tem os bytes 4F 6C C3 A1 e vira T2zDoQ==.

Base64 não é criptografia

Qualquer pessoa decodifica um Base64 em segundos. Ele serve para transportar dados, não para protegê-los. Nunca use Base64 para "esconder" senhas ou informações sigilosas; para isso existem criptografia e funções de hash (veja o gerador de hash).

Variações

  • Base64 padrão (RFC 4648): usa + e /, com preenchimento =.
  • Base64URL: troca + por - e / por _, e geralmente dispensa o =. É seguro para URLs e nomes de arquivos, e é o formato usado nos tokens JWT.
  • MIME: quebra o texto em linhas de 76 caracteres, como exigem os anexos de e-mail.

Na decodificação, a ferramenta aceita qualquer uma dessas variações, com ou sem quebras de linha e preenchimento.

Data URI: imagens dentro do código

Um Data URI embute o arquivo diretamente no HTML ou CSS, no formato data:image/png;base64,iVBORw0…. É útil para ícones pequenos, e-mails HTML e protótipos, porque evita uma requisição extra. Para imagens grandes não compensa: o arquivo fica 33% maior e não é armazenado em cache separadamente. Na aba Arquivo → Base64 você copia o resultado pronto como Base64 puro, Data URI, regra CSS ou tag <img>.

Base64 em linguagens de programação

JavaScript (navegador): btoa(String.fromCharCode(...new TextEncoder().encode(texto)))
Node.js:                Buffer.from(texto, "utf8").toString("base64")
Python:                 base64.b64encode(texto.encode()).decode()
PHP:                    base64_encode($texto)
Java:                   Base64.getEncoder().encodeToString(texto.getBytes(UTF_8))
Linux/macOS:            echo -n "texto" | base64

Atenção ao btoa() do JavaScript: ele não aceita acentos diretamente e gera erro com caracteres fora do Latin-1. É preciso converter o texto para bytes UTF-8 antes, como esta ferramenta faz.

Conteúdo revisado em .

Perguntas frequentes

Base64 é seguro para guardar senhas?

Não. Base64 é apenas uma forma de codificação e pode ser revertida por qualquer pessoa. Para senhas, use funções de hash próprias para isso (como bcrypt ou Argon2) e, para dados sigilosos, criptografia.

Por que o texto decodificado aparece com caracteres estranhos?

Geralmente porque o conteúdo original não era texto UTF-8 (por exemplo, uma imagem ou um PDF) ou porque foi codificado em outra codificação, como ISO-8859-1. Para arquivos, use a aba Base64 → arquivo.

Qual a diferença entre Base64 e Base64URL?

O Base64URL substitui + por - e / por _ e normalmente omite o preenchimento =, para que o resultado possa ser usado em URLs e nomes de arquivos. É o formato usado em tokens JWT.

Quanto o arquivo aumenta em Base64?

Cerca de 33%, porque cada 3 bytes viram 4 caracteres. Um arquivo de 300 KB ocupa aproximadamente 400 KB em Base64.

Como transformar Base64 em imagem?

Cole o Base64 ou o Data URI na aba Base64 → arquivo. A ferramenta identifica o tipo (PNG, JPG, GIF, WebP, PDF e outros), mostra a pré-visualização e permite baixar o arquivo.

Meus arquivos são enviados para algum servidor?

Não. A conversão é feita no seu navegador e os arquivos nunca saem do seu dispositivo.