Codificador e Decodificador Base64

Digite em qualquer um dos lados e o outro se atualiza. Base64 (padrão e seguro para URL), binário, hex, codificação de URL e entidades HTML, com emojis e acentos tratados corretamente.

Texto

Formato
Baixar .txt

As duas caixas são editáveis. Cole texto codificado à direita para decodificar; o formato é detectado quando você cola.

Base64

Válido
Baixar .txt

Tudo roda no seu navegador. Nada do que você digita ou solta é enviado.

Arquivo para Base64

Saída como
Baixar .txt

Como codificar e decodificar Base64

Este codificador e decodificador de Base64 funciona nos dois sentidos ao mesmo tempo. Digite texto comum à esquerda e o Base64 aparece à direita; cole Base64 à direita e o texto decodificado aparece à esquerda. Hello vira SGVsbG8=, e colar SGVsbG8= devolve Hello.

As mesmas duas caixas tratam outros quatro formatos: binário, hexadecimal, codificação de URL e entidades HTML. Quando você cola algo à direita, a ferramenta analisa o conteúdo e muda para o formato correspondente, então uma sequência de 0 e 1 é lida como binário sem você escolher nada. Se colar um texto codificado na caixa de texto comum por engano, ela oferece decodificá-lo.

O que o Base64 faz, na prática

O Base64 transforma quaisquer bytes em 64 caracteres seguros (A–Z, a–z, 0–9, + e /), para que dados binários possam passar por sistemas feitos para texto: e-mail, JSON, atributos HTML, variáveis de ambiente. Ele pega 3 bytes (24 bits), divide em quatro pedaços de 6 bits e escreve um caractere para cada pedaço.

Man → 01001101 01100001 01101110 → 010011 010110 000101 101110 → TWFu

Quando a entrada não é múltipla de 3 bytes, sinais de = completam o final: Ma vira TWE= e M vira TQ==. Base64 não é criptografia. Qualquer pessoa decodifica em um segundo, então nunca considere escondida uma senha em Base64.

Padrão ou seguro para URL?

Os caracteres + e / quebram URLs e nomes de arquivo, por isso a variante segura para URL usa - e _ no lugar e normalmente dispensa o preenchimento. Os bytes FB FF ficam +/8= no Base64 padrão e -_8 na forma segura para URL. Tokens JWT e muitas chaves de API usam a forma segura para URL. Na hora de decodificar você não precisa escolher: os dois alfabetos são aceitos, com ou sem preenchimento, e espaços ou quebras de linha são ignorados.

Marque Quebra de linha a cada 76 quando precisar de saída no estilo MIME para corpo de e-mail ou certificados PEM.

Caracteres comuns em cada formato

Tudo aqui é convertido via UTF-8, a codificação usada por quase todos os sites e APIs. É por isso que o é ocupa dois bytes e um emoji ocupa quatro. Ferramentas que pulam essa etapa estragam as letras acentuadas, que é a reclamação mais comum sobre decodificadores de Base64 online.

CaractereBase64BinárioHexURL
AQQ==0100000141A
aYQ==0110000161a
espaçoIA==0010000020%20
&Jg==0010011026%26
éw6k=11000011 10101001C3 A9%C3%A9
€4oKs11100010 10000010 10101100E2 82 AC%E2%82%AC

Texto para binário e binário para texto

Escolha Binário e cada byte do seu texto é escrito com 8 bits. Hi vira 01001000 01101001. Desmarque Espaço entre bytes para ter uma sequência contínua.

Para usar como tradutor de binário para texto, cole os bits na caixa da direita. Grupos de 8 são lidos como bytes. Alguns sites mostram ASCII com 7 bits (1001000 1101001); desde que os grupos estejam separados por espaços, eles recebem um zero à esquerda e são lidos corretamente. Sem espaços, o total precisa ser múltiplo de 8, e a mensagem de erro informa quantos bits encontrou para você achar o dígito que falta.

O hexadecimal funciona do mesmo jeito, com dois dígitos por byte. Na decodificação, prefixos e separadores como 0x, \x, dois-pontos e vírgulas são removidos, então dá para colar direto de um depurador ou de um array em C.

Codificar e decodificar URL

A codificação de URL troca caracteres inseguros por % e dois dígitos hexadecimais: um espaço vira %20, é vira %C3%A9. Escolha o escopo certo:

Entidades HTML

O modo HTML escapa os cinco caracteres que podem quebrar o código: & < > " e '. Assim <b> vira &lt;b&gt; e aparece como texto em vez de deixar tudo em negrito. A decodificação entende entidades nomeadas como &eacute; e &nbsp;, além das numéricas como &#8364; (€).

Imagem para data URI em Base64

Solte um arquivo na caixa de baixo para obter o Base64 dele, pronto como data URI, string pura, tag <img> ou fundo CSS. O indicador de tamanho mostra o custo. O Base64 acrescenta um terço, então só compensa para coisas pequenas, como um ícone de 1 KB, em que economizar uma requisição HTTP pesa mais que os bytes extras. Para uma foto de 200 KB, um arquivo de imagem normal é melhor: é menor, fica em cache e não incha seu HTML ou CSS.

Tamanho do arquivoTamanho em Base64
1 KB (1.024 bytes)1.368 caracteres
10 KB13.656 caracteres
50 KB68.268 caracteres
1 MB1.398.104 caracteres

O caminho inverso também funciona. Cole Base64 ou um data URI à direita e, se não for texto, a ferramenta lê os primeiros bytes para descobrir o tipo de arquivo (PNG, JPEG, GIF, WebP, PDF, ZIP, MP3 e outros), mostra uma prévia no caso de imagens e oferece o download com a extensão certa.

Nada é enviado. Isso importa mais do que o normal aqui, porque as strings que as pessoas decodificam muitas vezes são chaves de API, tokens de sessão e anexos de e-mail.

Perguntas frequentes

Como decodifico Base64?

Cole o Base64 na caixa da direita e o texto decodificado aparece na hora à esquerda. Por exemplo, SGVsbG8= decodifica para Hello. Se o resultado for uma imagem ou PDF em vez de texto, aparece um botão Salvar como arquivo.

Como converto texto em binário?

Escolha Binário e digite o texto à esquerda. Cada byte vira 8 bits, então Hi fica 01001000 01101001. Letras fora do inglês, como é, ocupam dois ou mais bytes em UTF-8 e, portanto, 16 ou mais bits.

Como traduzo código binário de volta para texto?

Escolha Binário e cole os 0 e 1 na caixa da direita. Grupos de 8 bits são lidos como bytes, então 01001000 01101001 vira Hi. Grupos de 7 bits separados por espaços também funcionam; eles recebem um 0 à esquerda.

Como transformo uma imagem em data URI Base64?

Solte a imagem na caixa de arquivo lá embaixo e copie o resultado. Um PNG vira data:image/png;base64,iVBORw0KGgo…, que você pode colar num img src ou num fundo CSS. Conte com algo cerca de 33% maior que o arquivo.

Por que o Base64 fica cerca de 33% maior que o original?

O Base64 escreve cada 3 bytes como 4 caracteres, então 30 KB de imagem viram cerca de 40 KB de texto. Quebras de linha MIME a cada 76 caracteres somam uns 2,6% a mais. É por isso que data URIs só fazem sentido para arquivos pequenos.

Qual a diferença entre Base64 e Base64 seguro para URL?

O Base64 seguro para URL troca + por - e / por _, e muitas vezes dispensa o preenchimento com =, para o texto poder ficar numa URL ou num nome de arquivo. Tokens JWT usam essa forma. Este decodificador aceita os dois alfabetos automaticamente.

Como decodifico uma URL com %20 e %3A?

Escolha URL e cole o texto à direita. %20 vira espaço e %3A vira dois-pontos, então https%3A%2F%2Fexample.com fica https://example.com. Marque Espaços como + se o texto vier de um formulário, onde os espaços são escritos como +.

Meu texto ou arquivo é enviado para um servidor?

Não. Toda a codificação e decodificação roda no seu navegador com JavaScript, então é seguro para chaves de API, tokens e arquivos privados.