Codifique texto em Base64 ou decodifique Base64 de volta em texto, em UTF-8, com a opção do alfabeto Base64URL, seguro para URLs.
O que é o Base64 Encode/Decode?
O Base64 Encode/Decode é uma ferramenta online gratuita que codifica texto em Base64, ou decodifica Base64 de volta em texto, no seu navegador. O texto é lido e escrito em UTF-8, então letras acentuadas e emojis sobrevivem à ida e volta, e você pode escolher o alfabeto padrão ou o alfabeto Base64URL, seguro para URLs, ao codificar.
Ou ela converte a entrada inteira, ou recusa e diz o que está errado, com a posição de um caractere inválido.
O que ela aceita
- Codificação: qualquer texto. Ele vira bytes UTF-8 e é escrito como Base64 em uma única linha, sem quebras de linha acrescentadas.
- Alfabeto padrão: de A a Z, de a a z, de 0 a 9, + e /, com preenchimento = no final para que o tamanho seja múltiplo de 4, como a RFC 4648 define.
- Alfabeto seguro para URL (Base64URL): - e _ no lugar de + e /, e sem preenchimento =. É a forma usada em JWTs e em muitas URLs. Ele só é oferecido ao codificar.
- A decodificação aceita qualquer um dos alfabetos, até misturados, ignora espaços e quebras de linha e não precisa do preenchimento =. Os bytes decodificados precisam ser texto UTF-8 válido.
- Um caractere que não está em nenhum dos alfabetos, um = no meio do texto e mais de dois = no final são recusados, com a linha e a coluna do problema.
- Um texto com um substituto (surrogate) sem par, que é metade de um emoji, não pode virar UTF-8, então codificá-lo é recusado, com a linha e a coluna dele.
Bom saber
- Base64 é uma codificação, não uma criptografia: qualquer pessoa pode decodificá-lo, então ele não protege nada.
- A decodificação dá apenas texto. Se o Base64 contém um arquivo, como uma imagem ou um PDF, os bytes dele geralmente não são texto UTF-8 válido, e a ferramenta recusa; ela não mostra nem salva dados binários.
- Um endereço de dados como data:image/png;base64, não é removido. Cole apenas a parte depois da vírgula, ou os dois-pontos são recusados como um caractere inválido.
- Um tamanho que deixa um único caractere sobrando (sem contar o =) e bytes decodificados que não são UTF-8 válido são recusados sem posição, porque dizem respeito ao texto como um todo.
- O Base64 deixa os dados cerca de um terço maiores, então codificar um texto grande pode passar do limite de tamanho do resultado. Nesse caso ele é recusado com uma prévia incompleta (veja abaixo).
Como usar o Base64 Encode/Decode?
- Cole ou digite o seu texto, ou o seu Base64, na caixa de entrada. Nada é executado enquanto você digita.
- Em “Modo”, escolha “Codificar” para transformar texto em Base64 ou “Decodificar” para transformar Base64 em texto. Ao codificar, “Alfabeto” permite escolher “Padrão (Base64)” ou “Seguro para URL (Base64URL)”. Depois aperte “Converter”.
- Leia o resultado ao lado da entrada. Se o Base64 não puder ser decodificado, a mensagem explica o motivo e, para um caractere que não pertence, informa a linha e a coluna dele.
- Aperte “Copiar” para colocar o resultado na área de transferência, ou “Baixar” para salvá-lo como converted.txt.
Exemplos
Codificar texto
Deixe “Modo” em “Codificar” e “Alfabeto” em “Padrão (Base64)”, cole este texto e aperte “Converter”. O texto vira bytes UTF-8 primeiro, e é por isso que “á” ocupa dois bytes antes de ser codificado.
Olá, mundo!T2zDoSwgbXVuZG8hTexto que não é Base64
Escolha “Decodificar” e aperte “Converter”. A vírgula não faz parte do alfabeto do Base64, então a ferramenta recusa e informa a linha e a coluna dela. O Base64 usa apenas letras, dígitos, + e / (ou - e _), com = no final, e espaços e quebras de linha são ignorados.
Hello, world!Este caractere não é válido em Base64. O Base64 usa apenas letras, dígitos, + e / (ou - e _ na forma segura para URL), com preenchimento = no final. Espaços e quebras de linha são ignorados.
Linha 1, coluna 6
Saída segura para URL
Com “Alfabeto” em “Seguro para URL (Base64URL)”, + vira - e / vira _, e o preenchimento = do final é omitido, então o resultado pode ir direto em uma URL ou em um nome de arquivo. O alfabeto padrão dá Pj4+Pw== para o mesmo texto.
>>>?Pj4-PwQuebras de linha e preenchimento faltando
Escolha “Decodificar”. Espaços e quebras de linha são ignorados e o preenchimento = do final não é necessário, então um Base64 dividido em várias linhas, ou escrito na forma segura para URL sem preenchimento, ainda é decodificado.
SGVsbG8s
IFdvcmxkIQHello, World!Dados binários
Escolha “Decodificar”. Este Base64 contém os primeiros bytes de uma imagem PNG, que não são texto, então a ferramenta recusa em vez de mostrar caracteres errados. Ela decodifica apenas texto, não arquivos.
iVBORw0KGgo=Os bytes decodificados não são um texto UTF-8 válido, então não podem ser exibidos como texto. Esta ferramenta decodifica apenas texto. O Base64 pode conter um arquivo ou outros dados binários, ou estar danificado.
Limites e privacidade
Limites de tamanho
- Entrada: até 2.000.000 bytes de texto em UTF-8 (cerca de 2 MB). Letras acentuadas e emojis ocupam mais de um byte cada. Uma entrada maior é recusada.
- Resultado: também até 2.000.000 bytes. Se o resultado completo fosse maior, a ferramenta mostra apenas uma prévia incompleta dos primeiros 100.000 bytes, e essa prévia não pode ser copiada nem baixada.
- Tempo: uma execução que demora mais que o seu limite de tempo é interrompida. Tente uma entrada menor.
Meu texto é enviado para um servidor?
Não. O texto que você digita ou cola, ou abre de um arquivo local, é processado localmente no seu navegador, em um Web Worker dedicado. Ele nunca é enviado para o servidor (um arquivo que você abre é lido apenas no seu navegador) e não é gravado em armazenamento, cookies nem na barra de endereços.
“Copiar” coloca o resultado na área de transferência e “Baixar” o salva como arquivo, mas só quando você aperta o botão. O arquivo é criado no seu navegador, então nada é enviado.
Para ver os detalhes completos, consulte a Política de Privacidade
Ferramentas e páginas relacionadas
O seu texto continua na página quando você troca de ferramenta na mesma aba, então dá para testar o mesmo texto em outra. Recarregar ou fechar a aba o encerra.