De A a C
Alfabeto
O conjunto de caracteres que uma codificação escreve, na ordem dos índices. O Base64 padrão usa A-Z, a-z, 0-9, + e /, então A significa 0 e / significa 63. Veja a tabela do alfabeto.
ASN.1
Abstract Syntax Notation One, uma linguagem para descrever estruturas de dados, usada em certificados X.509, chaves e muitos protocolos de telecom. O ASN.1 define a estrutura. Regras de codificação como o DER definem os bytes.
Base16
O nome do hex na RFC 4648: cada byte vira dois caracteres de 0-9 A-F. O tamanho dobra. Experimente a ferramenta Base16.
Base32
Uma codificação de 32 caracteres (A-Z e 2-7 na RFC 4648) que transforma 5 bytes em 8 caracteres, 60% a mais que a entrada. Por não diferenciar maiúsculas de minúsculas, combina bem com segredos TOTP e nomes DNS. Experimente o codificador Base32.
Base45
Definido na RFC 9285, transforma 2 bytes em 3 caracteres do conjunto de 45 que os QR codes armazenam no modo alfanumérico. O Certificado Digital COVID da UE usava esse formato. Experimente o codificador Base45.
Base58
O alfabeto de 58 caracteres do Bitcoin: Base64 sem 0, O, I, l, + e /. Ele converte a entrada inteira como um único número grande, e cada byte zero no início vira um 1. Experimente o codificador Base58.
Base58Check
Base58 com um byte de versão na frente e um checksum de 4 bytes no final. O checksum são os 4 primeiros bytes do SHA-256 aplicado duas vezes. Endereços Bitcoin legados e chaves privadas WIF usam esse formato. Veja a ferramenta Base58Check.
Base64
Uma codificação binário-texto que escreve cada 3 bytes como 4 caracteres de um alfabeto de 64, completando o final com =. A saída fica cerca de 33% maior que a entrada. Comece pelo codificador e pelo decodificador, ou leia como o Base64 funciona.
Base64URL
Base64 com - e _ no lugar de + e /, da seção 5 da RFC 4648. O preenchimento costuma ser omitido. Usado em JWTs e URLs. Veja Base64 vs Base64URL e o codificador Base64URL.
Base85
Uma família de codificações que escrevem 4 bytes como 5 caracteres, com 25% de acréscimo. As variantes comuns são o Ascii85 (da Adobe, usado em PDF e PostScript), o Z85 (ZeroMQ) e o alfabeto da RFC 1924, usado pelo git. Experimente a ferramenta Base85.
Base91
O basE91, criado por Joachim Henke, usa 91 caracteres ASCII imprimíveis e empacota 13 ou 14 bits em cada par de caracteres. Com isso, o acréscimo fica entre cerca de 14% e 23%, o menor desta lista, ao custo de um alfabeto que inclui as aspas duplas e muitos outros sinais de pontuação. Experimente a ferramenta Base91.
Basic Auth
A autenticação HTTP Basic (RFC 7617) envia user:password em Base64 no header Authorization: Aladdin:open sesame vira Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==. Qualquer pessoa que veja o header consegue decodificá-lo, por isso ele exige HTTPS. Gere ou leia um header com o gerador de Basic Auth e o decodificador.
BOM
Byte order mark, o caractere U+FEFF colocado no início de um arquivo de texto. Em UTF-8 ele é EF BB BF (Base64 77u/), em UTF-16LE é FF FE. Decodificadores que não o esperam mostram  ou um caractere invisível perdido.
Charset
A codificação de caracteres que transforma texto em bytes, como UTF-8, UTF-16LE ou Windows-1252. O Base64 guarda bytes, então decodificar Base64 para texto exige saber em que charset o texto foi salvo. Um palpite errado gera mojibake como Café. A ferramenta Base64 para texto permite trocar o charset.
Codificação binário-texto
Qualquer esquema que representa bytes arbitrários usando só caracteres imprimíveis, para que os dados sobrevivam a sistemas feitos para texto, como e-mail, JSON ou URLs. Hex, Base32, Base64, Base85, uuencode e quoted-printable são todas codificações binário-texto. Compare-as em Base64 vs hex, Base32, Base58 e Base85.
Codificação canônica
A única forma codificada “correta” de um dado. No Base64, ela exige que os bits não usados antes do preenchimento sejam zero (RFC 4648, seção 3.5): SGk/Pg== é canônico; SGk/Ph== decodifica para os mesmos bytes em decodificadores tolerantes, mas não é.
CRLF
Carriage return mais line feed, os bytes 0D 0A. O MIME exige CRLF entre as linhas de Base64, enquanto as ferramentas do Unix costumam escrever só LF (0A). Decodificadores tolerantes ignoram os dois; os rígidos rejeitam.
CSP nonce
Um valor aleatório num header Content-Security-Policy (script-src 'nonce-…') que libera apenas os scripts inline que trazem o mesmo atributo nonce. Ele é escrito em Base64, deve ser novo a cada resposta e deve ter pelo menos 128 bits de aleatoriedade. Gere um com o gerador de CSP nonce.
De D a J
Data URI
Uma URL que carrega os próprios dados em vez de apontar para eles, definida na RFC 2397: data:image/png;base64,iVBORw0KGgo…. Útil para imagens pequenas e ícones em HTML e CSS. Veja o gerador de data URI, o analisador e desempenho de data URIs.
Deflate
O algoritmo de compressão (RFC 1951) que está dentro de ZIP, gzip, zlib e PNG. “Raw deflate” é o fluxo compactado sem header nem checksum em volta. Compacte e codifique com a ferramenta zlib e deflate.
DER
Distinguished Encoding Rules, a codificação binária estrita de estruturas ASN.1 definida na ITU-T X.690. Certificados e chaves são bytes DER. Uma estrutura DER geralmente começa com 30 (uma SEQUENCE), e é por isso que o corpo de um PEM começa com M, muitas vezes MII.
gzip
Um formato de arquivo (RFC 1952) que envolve dados compactados com deflate num header de 10 bytes e um checksum CRC-32. Ele começa com os bytes 1F 8B, então gzip em Base64 começa com H4sI. Use gzip e Base64 para compactar e decodificar gzip em Base64 para desfazer.
Hex
Hexadecimal: cada byte escrito como dois dígitos de 0-9 e a-f, por exemplo 48 65 6c 6c 6f para Hello. É fácil de ler byte a byte e tem o dobro do tamanho da entrada. Converta com Base64 para hex e hex para Base64.
JWE
JSON Web Encryption (RFC 7516). Um token criptografado cuja forma compacta tem cinco partes Base64URL: header, chave criptografada, vetor de inicialização, texto cifrado e tag de autenticação. Ao contrário de um JWS, o conteúdo não pode ser lido sem a chave.
JWS
JSON Web Signature (RFC 7515). Uma mensagem assinada com três partes Base64URL: header, payload e assinatura. Qualquer pessoa consegue ler o payload. A assinatura só prova que ele não foi alterado.
JWT
JSON Web Token (RFC 7519), um conjunto de claims em JSON transportado dentro de um JWS ou JWE. A maioria dos JWTs que você encontra são tokens JWS que começam com eyJ. Decodifique um com o decodificador de JWT, crie um com o codificador de JWT e leia Base64 em JWT.
De L a Q
MIME
Multipurpose Internet Mail Extensions (RFC 2045 a 2049), o padrão que permite ao e-mail levar anexos e texto não ASCII. O Content-Transfer-Encoding base64 dele é como os anexos viajam dentro de uma mensagem só de texto. Veja Base64 em e-mail e o decodificador de EML.
Número mágico
Uma sequência fixa de bytes no início de um arquivo que identifica o formato, como %PDF- para PDF ou 89 50 4E 47 para PNG. Como o Base64 codifica 3 bytes por vez, os números mágicos viram prefixos Base64 reconhecíveis. Veja prefixos Base64 comuns e Base64 para arquivo.
PEM
Privacy-Enhanced Mail, originalmente um padrão de e-mail seguro (RFC 1421). Hoje o nome se refere ao formato de texto dele para chaves e certificados: Base64 de bytes DER entre as linhas -----BEGIN CERTIFICATE----- e -----END CERTIFICATE-----, quebrado a cada 64 caracteres (RFC 7468). Inspecione um com o decodificador de certificados.
Preenchimento
O padding: os caracteres = no final do Base64 que completam o último grupo de 4 caracteres, == quando sobra 1 byte e = quando sobram 2. Alguns formatos o dispensam. Leia o guia de preenchimento.
Quebra de linha
A inserção de quebras de linha numa saída Base64 longa. O MIME quebra em no máximo 76 caracteres, o PEM em exatamente 64. O base64 do GNU quebra em 76 por padrão (-w 0 desliga), o openssl base64 em 64 (-A desliga). O codificador MIME quebra as linhas para você.
Quoted-printable
A outra codificação de transferência do MIME. Ela mantém o ASCII imprimível como está e escreve os demais bytes como = mais dois dígitos hex, então Café em UTF-8 vira Caf=C3=A9. É eficiente para texto quase todo ASCII e um desperdício para binário. Experimente a ferramenta quoted-printable.
De R a Z
Radix-64
O nome que o OpenPGP dá à sua ASCII armor: Base64 padrão mais uma linha opcional de checksum que começa com = e contém um CRC-24 em Base64. Veja padrões do Base64.
SRI
Subresource Integrity, um recurso do navegador que confere um script ou uma folha de estilo baixados contra um hash no atributo integrity, escrito como nome do algoritmo mais o digest em Base64: sha384-…. Os algoritmos suportados são SHA-256, SHA-384 e SHA-512. Gere valores com o gerador de hash SRI.
uuencode
Unix-to-Unix encoding, um formato binário-texto mais antigo que o MIME. Cada linha começa com um caractere de comprimento, e os caracteres de dados vêm do ASCII 32 a 95, então ele inclui sinais de pontuação que o Base64 do MIME evita. Veja a ferramenta uuencode.
UTF-8
A codificação de texto dominante na web. Caracteres ASCII ocupam um byte, os demais de dois a quatro. Quando uma ferramenta diz “texto para Base64”, quase sempre quer dizer bytes UTF-8 para Base64: é é C3 A9. Veja UTF-8 para Base64.
UTF-16LE
UTF-16 com o byte menos significativo primeiro, o formato interno de strings do Windows e do .NET. Texto ASCII em UTF-16LE tem um byte zero depois de cada caractere, então Hello vira SABlAGwAbABvAA==, cheio de A. O -EncodedCommand do PowerShell espera esse formato. Veja UTF-16 para Base64 e o decodificador de PowerShell.
Z85
A variante de Base85 do ZeroMQ (ZeroMQ RFC 32). Codifica 4 bytes como 5 caracteres, evita aspas e barra invertida para que a saída possa ficar em strings de código-fonte e exige entrada em múltiplos de 4 bytes. Experimente a ferramenta Z85.
zlib
Um envoltório fino (RFC 1950) em volta de dados deflate: um header de 2 bytes e um checksum Adler-32. O header geralmente começa com 78, então dados zlib em Base64 começam com eJ, eN, eF ou eA, dependendo do nível de compressão. Use a ferramenta zlib.
Perguntas frequentes
Qual é a diferença entre codificação e criptografia?
A codificação muda a forma como os dados são escritos e pode ser revertida por qualquer pessoa. A criptografia exige uma chave para ser revertida. Base64 é codificação. Veja codificação vs criptografia.
Base64 é a mesma coisa que Radix-64?
Radix-64 é o nome que o OpenPGP dá ao Base64 com uma linha opcional de checksum CRC-24. O alfabeto e a disposição dos bits são os mesmos do Base64 padrão.
Qual é a diferença entre PEM e DER?
DER é a codificação binária de um certificado ou de uma chave. PEM são esses mesmos dados DER em Base64, quebrados a cada 64 caracteres entre as linhas -----BEGIN e -----END. Converta com PEM para DER e DER para PEM.