Codificar e decodificar Base64 online — texto, arquivos e data URLs

Codifique texto ou arquivos em Base64, transforme imagens em data URIs com trechos de CSS e <img>, e decodifique Base64 de volta em um arquivo com pré-visualização. Nada sai do seu navegador.

Base64
RnJlZVRvb2xzRm9yV2ViIOKAlCBvIEJhc2U2NCBjb2RpZmljYSBieXRlcywgbsOjbyBjYXJhY3RlcmVzLiBBY2VudG9zIGUgZW1vamlzIGZ1bmNpb25hbTog8J+Msg==
94 B de entrada → 128 caracteres (+36%)

Funciona totalmente no seu navegador. Nada do que você digita é enviado para nós nem armazenado. Ver todas as ferramentas grátis.

Encontrou um problema ou algo que poderia ser melhor? Lemos todas as mensagens e corrigimos rápido.

Este codificador e decodificador Base64 grátis converte texto e arquivos para Base64 e vice-versa, no seu navegador. Ele trata o UTF-8 corretamente, então acentos, texto em chinês e emojis vão e voltam intactos, que é onde a maioria dos conversores online rápidos falha sem avisar. Solte uma imagem ou uma fonte para obter um data URI com código CSS de fundo e <img> prontos, com o acréscimo de tamanho explicado; ou cole um data URI ou Base64 puro para pré-visualizar a imagem e baixá-la como arquivo. Vários arquivos de uma vez? Solte até 50 juntos para obter uma tabela de data URIs que você pode copiar ou baixar em JSON ou CSV, e o modo de texto codifica ou decodifica uma lista linha por linha.

Base64 não é criptografia nem compressão; é uma forma de transportar dados binários por canais que só aceitam texto, como JSON, e-mail e URLs, ao custo de cerca de 33 por cento mais bytes. Saber disso já é quase tudo para saber quando usá-lo, e as notas abaixo cobrem o resto.

Como usar

  1. Escolha Codificar ou Decodificar. Para codificar, digite ou cole o texto; o Base64 aparece enquanto você digita.
  2. Ative “Seguro para URL” quando o valor for para uma URL ou um JWT: + e / viram - e _, e o preenchimento é removido.
  3. Para codificar um arquivo, abra a aba “Arquivo → Base64 / data URI” e escolha ou solte o arquivo. Copie o Base64 puro, o data URI ou os trechos de CSS e <img>.
  4. Para transformar Base64 de volta em arquivo, abra “Base64 / data URI → arquivo” e cole o conteúdo. O tipo é lido do prefixo data: ou detectado pelos bytes, imagens e mídias são pré-visualizadas, e Baixar salva o arquivo com a extensão certa.
  5. Confira a linha de tamanho: se a saída codificada estiver chegando a megabytes, uma referência a um arquivo comum quase sempre é a melhor solução.

Perguntas frequentes

Posso converter vários arquivos ou linhas para Base64 de uma vez?

Sim. Na aba Arquivo, escolha ou solte até 50 arquivos (25 MB no total): cada um vira uma linha com tipo, tamanho, Base64 e data URI, que você pode copiar um por um ou baixar juntos em JSON ou CSV. Na aba Texto, marque "Cada linha separadamente" para codificar ou decodificar cada linha de uma lista individualmente; uma linha que não é Base64 válido é sinalizada e fica vazia, sem afetar as outras.

Base64 é seguro? Posso usá-lo para esconder dados?

Não. Base64 é uma codificação, não uma criptografia: qualquer pessoa pode decodificá-lo na hora, inclusive com esta página. Ele existe para tornar dados binários seguros para transporte como texto. Se você precisa de confidencialidade, criptografe primeiro e depois aplique Base64 ao texto cifrado, se um canal de texto exigir.

Por que o texto decodificado mostra caracteres estranhos?

Normalmente porque o original não era UTF-8, ou porque o Base64 foi gerado por uma ferramenta que codificou o ponto de código de cada caractere em vez dos seus bytes UTF-8 (o clássico bug do btoa()). Esta ferramenta sempre codifica e decodifica bytes UTF-8. Se a origem era Latin-1 ou UTF-16, os bytes continuam corretos; só a exibição do texto muda.

O que é Base64 seguro para URL?

O Base64 padrão usa + e /, que têm significado dentro de URLs, e preenche com =, que os codificadores de URL estragam. A variante segura para URL (RFC 4648, seção 5) troca esses caracteres por - e _ e normalmente omite o preenchimento. JWTs, valores de state do OAuth e muitos tokens de API a usam. O decodificador daqui aceita as duas formas.

Devo incorporar imagens como data URLs em Base64?

Para recursos minúsculos (ícones de poucos kilobytes, um SVG inline pequeno, um subconjunto de fonte), um data URL economiza uma requisição e vale a pena. Para qualquer coisa maior, não: o arquivo cresce um terço, não pode ser armazenado em cache separadamente da página e bloqueia a análise do HTML ou CSS em que está. Uma referência a arquivo comum ganha a partir de uns 5 a 10 KB.

Algo é enviado para um servidor?

Não. O texto é convertido com o TextEncoder e o btoa/atob do navegador, e os arquivos são lidos localmente com a File API. Nada é enviado a um servidor.

Como converto Base64 de volta em imagem?

Cole a string na aba “Base64 / data URI → arquivo”. Se ela começar com data:image/png;base64, o tipo vem desse prefixo; se for Base64 puro, a ferramenta lê os primeiros bytes (PNG, JPEG, GIF, WebP, AVIF, SVG, PDF, MP3, MP4 e outras assinaturas comuns) para decidir. A imagem é pré-visualizada na página e Baixar a salva como um arquivo comum.

Como o Base64 funciona, em um parágrafo

Cada três bytes de entrada (24 bits) são divididos em quatro grupos de 6 bits, e cada grupo é escrito como um de 64 caracteres: A–Z, a–z, 0–9, + e /. É por isso que o tamanho da saída é sempre múltiplo de quatro e cerca de 4/3 da entrada, e por isso o preenchimento com = aparece quando a entrada não é múltipla de três bytes. A decodificação reverte o processo exatamente; não há perda.

Onde você encontra Base64

• Autenticação HTTP Basic: o cabeçalho Authorization leva usuario:senha em Base64 (sem criptografia, e é por isso que precisa de HTTPS).

• JWTs: cabeçalho e payload são JSON em Base64 seguro para URL; decodifique um com o nosso decodificador de JWT.

• Anexos de e-mail (MIME) e imagens incorporadas em e-mails HTML.

• Data URLs em CSS e HTML, e campos de imagem em algumas APIs JSON.

• Valores binários em JSON e XML, que não têm um tipo nativo para bytes.

Anatomia de um data URI e acréscimo de tamanho

Um data URI tem a forma data:[tipo de mídia][;base64],dados. data:image/png;base64,iVBORw0… carrega um PNG; sem ;base64, os dados são texto com codificação percentual, o que costuma ser menor para SVG. O tipo de mídia é o que o navegador usa para renderizar, então um tipo errado (image/png em bytes JPEG) pode impedir a imagem de aparecer em alguns contextos.

O Base64 transforma cada 3 bytes em 4 caracteres, então o conteúdo cresce um terço (33,3 por cento, mais até dois caracteres de preenchimento), e o prefixo data: acrescenta mais alguns. O gzip ou o Brotli no HTML ou CSS recuperam parte disso, mas não tudo. A ferramenta mostra os números exatos do seu arquivo para você avaliar se vale a pena embutir; para a maioria das imagens acima de 5 a 10 KB, não vale.

Ferramentas grátis relacionadas

  • Formatador de JSON — Formate, minifique e valide JSON, com erros de parsing localizados por linha e coluna. No seu navegador, sem upload.
  • Decodificador JWT — Decodifique o header e o payload de um JWT, leia a expiração em linguagem simples, verifique assinaturas HS, RS, PS e ES ou assine um novo token. Nada sai do seu navegador.
  • Conversor de imagens — Converta entre AVIF, HEIC, TIFF, PNG, JPG, WebP, GIF, BMP e SVG. A maioria das conversões nem sai do seu navegador.