A–Z a–z 0–9 + / = · base64url
Codificador e decodificador de Base64
O Base64 escreve bytes como texto com 64 caracteres imprimíveis: os 5 bytes de "Hello" viram SGVsbG8=. Digite um texto ou escolha um arquivo para codificá-lo, ou cole Base64 para voltar ao texto ou a um download.
- Hello = SGVsbG8=
- Hello = SGVsbG8
- FB FF = +/8= = -_8=
Tudo roda nesta aba e nada é enviado. Base64 é uma codificação, não criptografia: qualquer pessoa pode desfazê-la.
Scanned by NortonTM Safe Web
Resumo
- Preço
- Sem custo
- Conta
- Não é necessária
- Padrões
- RFC 4648 (Base64 e Base64url), RFC 2045 (MIME), RFC 2397 (data URI)
- Variação de tamanho
- 4 caracteres para cada 3 bytes
- Limite
- 10 MB para um texto ou um arquivo
- Envio
- Nenhum — texto e arquivos ficam na aba do seu navegador
Exemplos de Base64
Todos os valores abaixo são produzidos pelo codificador desta página. O texto é codificado primeiro em UTF-8.
| Texto | Base64 | Base64url sem preenchimento | Tamanho em UTF-8 |
|---|---|---|---|
| Hello | SGVsbG8= | SGVsbG8 | 5 B |
| Hello, World! | SGVsbG8sIFdvcmxkIQ== | SGVsbG8sIFdvcmxkIQ | 13 B |
| Grüße | R3LDvMOfZQ== | R3LDvMOfZQ | 7 B |
| € | 4oKs | 4oKs | 3 B |
| FB FF | +/8= | -_8 | 2 B |
| Entrada | Base64 | Comprimento | Caracteres de preenchimento |
|---|---|---|---|
| f | Zg== | 4 | 2 |
| fo | Zm8= | 4 | 1 |
| foo | Zm9v | 4 | 0 |
| foob | Zm9vYg== | 8 | 2 |
| fooba | Zm9vYmE= | 8 | 1 |
| foobar | Zm9vYmFy | 8 | 0 |
Como codificar e decodificar Base64
Escolha uma direção
Escolha Codificar para transformar texto ou um arquivo em Base64, ou Decodificar para voltar do Base64 ao original. O botão Trocar leva o resultado para a outra direção.
Informe os dados
Digite ou cole texto, ou solte um arquivo de até 10 MB. Para decodificar, cole Base64 no alfabeto padrão ou no URL-safe, com ou sem preenchimento =, ou um data URI.
Copie o resultado
Copie ou baixe o resultado. Se os bytes decodificados não forem texto, a página mostra os primeiros bytes em hexadecimal, indica o tipo de arquivo quando o reconhece e permite salvar os bytes como arquivo.
Como funciona o Base64
O Base64 (RFC 4648) divide a entrada em grupos de 3 bytes, ou 24 bits, e escreve cada grupo como 4 caracteres de 6 bits cada, tirados de um alfabeto de 64 caracteres: A–Z, a–z, 0–9, + e /. Por isso a saída é cerca de um terço maior que a entrada. Quando a entrada não é múltiplo de 3 bytes, sinais = completam o final até um múltiplo de 4 caracteres, então os 5 bytes de Hello dão 8 caracteres terminando em um =.
O Base64url, definido na mesma RFC, troca + por - e / por _ para que o texto seja seguro em uma URL ou em um nome de arquivo, e formatos como o JWT omitem o preenchimento =. Esta página lê qualquer um dos alfabetos, com ou sem preenchimento, e ignora espaços e quebras de linha. O texto é convertido primeiro para UTF-8, então € vira os 3 bytes E2 82 AC e 4oKs em Base64. O limite é 10 MB para um texto ou um arquivo.
Perguntas sobre Base64
Como codificar texto em Base64?
Digite ou cole o texto no modo Codificar. O Base64 aparece enquanto você digita: Hello dá SGVsbG8=. O texto é escrito primeiro em UTF-8, então caracteres fora do ASCII usam mais de um byte: € tem 3 bytes e dá 4oKs.
Qual é a diferença entre Base64 e Base64url?
O Base64url troca dois caracteres: - no lugar de + e _ no lugar de /. Os bytes FB FF são +/8= em Base64 e -_8= em Base64url. A forma URL-safe serve para URLs, nomes de arquivo e JWT, e muitas vezes omite o preenchimento =.
Por que o Base64 termina com sinais =?
É preenchimento. O Base64 trabalha em grupos de 3 bytes e 4 caracteres. Se o último grupo tem 1 byte, dois sinais = o completam: f dá Zg==. Se tem 2 bytes, um = o completa: fo dá Zm8=. Um múltiplo de 3 bytes não precisa de nenhum: foo dá Zm9v.
Base64 é criptografia?
Não. O Base64 é uma codificação reversível, sem chave, então qualquer pessoa pode decodificá-lo, e ele não protege os dados. Ele torna dados binários seguros para colocar em texto, como e-mail, JSON, XML ou um data URI.
Quanto o Base64 aumenta os meus dados?
Cerca de um terço: a cada 3 bytes saem 4 caracteres, então 3000 bytes dão 4000 caracteres. Quebras de linha a cada 76 caracteres (MIME, RFC 2045) ou a cada 64 caracteres (PEM, RFC 7468) acrescentam um pouco mais.
Por que a decodificação diz que os bytes não são texto UTF-8 válido?
O Base64 em si está correto, mas os bytes dentro dele não são texto. Podem ser uma imagem, um arquivo compactado ou outro formato binário. Então a página mostra os primeiros 64 bytes em hexadecimal, indica o tipo de arquivo se o reconhece e oferece os bytes para download.