Português
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.
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.
| Caractere | Base64 | Binário | Hex | URL |
|---|---|---|---|---|
| A | QQ== | 01000001 | 41 | A |
| a | YQ== | 01100001 | 61 | a |
| espaço | IA== | 00100000 | 20 | %20 |
| & | Jg== | 00100110 | 26 | %26 |
| é | w6k= | 11000011 10101001 | C3 A9 | %C3%A9 |
| € | 4oKs | 11100010 10000010 10101100 | E2 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:
- Componente codifica tudo, exceto letras, dígitos e - _ . ! ~ * ' ( ). Use para um único valor de parâmetro, como ?q=rock%20%26%20roll. Se usasse URL completa aqui, o & ficaria como está e dividiria seu parâmetro em dois.
- URL completa deixa : / ? # & = intactos, para que o endereço inteiro continue clicável.
- Espaços como + segue o jeito como formulários HTML enviam dados. Marque ao decodificar texto copiado de um envio de formulário ou de uma URL de busca, senão os sinais de + continuam no resultado.
Entidades HTML
O modo HTML escapa os cinco caracteres que podem quebrar o código: & < > " e '. Assim <b> vira <b> e aparece como texto em vez de deixar tudo em negrito. A decodificação entende entidades nomeadas como é e , além das numéricas como € (€).
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 arquivo | Tamanho em Base64 |
|---|---|
| 1 KB (1.024 bytes) | 1.368 caracteres |
| 10 KB | 13.656 caracteres |
| 50 KB | 68.268 caracteres |
| 1 MB | 1.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.