Ir para o conteúdo

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.

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 em Base64 e Base64url
TextoBase64Base64url sem preenchimentoTamanho em UTF-8
HelloSGVsbG8=SGVsbG85 B
Hello, World!SGVsbG8sIFdvcmxkIQ==SGVsbG8sIFdvcmxkIQ13 B
GrüßeR3LDvMOfZQ==R3LDvMOfZQ7 B
€4oKs4oKs3 B
FB FF+/8=-_82 B
Vetores de teste da RFC 4648
EntradaBase64ComprimentoCaracteres de preenchimento
fZg==42
foZm8=41
fooZm9v40
foobZm9vYg==82
foobaZm9vYmE=81
foobarZm9vYmFy80

Como codificar e decodificar Base64

1

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.

2

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.

3

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.