Conversor de Base64 para Hex

Cole um texto em Base64 e veja os mesmos bytes em hexadecimal. Útil para comparar hashes, inspecionar chaves e assinaturas e conferir impressões digitais que cada ferramenta exibe em um formato diferente.

Funciona inteiramente no seu navegador. Nada é enviado.

Como usar

  1. Cole a string Base64 no campo Entrada. Base64 já vem selecionado em De e hexadecimal em Para.
  2. Leia a saída em hexadecimal, com dois dígitos hex para cada byte.
  3. Escolha outra codificação em Para, como Base58 ou Base32, se precisar de um formato diferente, ou clique em Inverter entrada e saída para converter o hex de volta para Base64.
  4. Copie o resultado.

Duas formas de escrever os mesmos bytes

Tanto o hex quanto o Base64 representam dados binários como texto. O hex usa dois caracteres por byte, o que facilita ler e comparar cada valor individualmente. O Base64 agrupa 3 bytes em 4 caracteres e fica cerca de um terço mais curto. A conversão entre os dois muda apenas a notação, nunca os dados:

ValorBytesComprimento em hexComprimento em Base64
Hash MD5163224
Hash SHA-1204028
Hash SHA-256, chave pública Ed25519326444
Hash SHA-384489664
Hash SHA-512, assinatura Ed255196412888

O hex também é o que editores hexadecimais, analisadores de pacotes e depuradores exibem, então converter Base64 para hex permite comparar os dados lado a lado com o que essas ferramentas mostram.

Quando você precisa de hex a partir de Base64

  • Comparar hashes. Ferramentas como sha256sum exibem hex, enquanto atributos de Subresource Integrity, hashes de Content Security Policy e cabeçalhos de soma de verificação como Content-MD5 usam Base64. Converta um dos lados para poder compará-los.
  • Impressões digitais SSH. O ssh-keygen -l exibe as impressões digitais SHA256: em Base64 sem preenchimento, enquanto os registros DNS SSHFP guardam o mesmo hash SHA-256 em hex. Cole a parte que vem depois de SHA256: para obter a forma hexadecimal.
  • Chaves, IVs e assinaturas. Ao depurar código criptográfico, ver os bytes em hex facilita conferir o comprimento, comparar valores e identificar um byte faltando ou sobrando.

Entradas aceitas pelo conversor

Espaços e quebras de linha na entrada Base64 são ignorados, os caracteres seguros para URL - e _ são aceitos e o preenchimento com = é opcional, então valores copiados de JSON, JWTs ou da saída do terminal podem ser colados como estão. A conversão trabalha sobre os bytes decodificados: o resultado é o hex dos dados, e não dos próprios caracteres Base64. Para ver os códigos hexadecimais de um texto, use a ferramenta Base16.

# Shell
printf '%s' "$B64" | base64 --decode | xxd -p

# Python
base64.b64decode(s).hex()

// Node.js
Buffer.from(s, 'base64').toString('hex')

Perguntas frequentes

A ferramenta converte o texto Base64 ou os bytes que ele representa?
Os bytes. Primeiro o Base64 é decodificado e, em seguida, cada byte resultante é escrito como dois dígitos hexadecimais. Se você quiser os códigos de caractere da própria string Base64, codifique-a como texto com a ferramenta Base16.
Por que a saída em hex é mais longa que a entrada em Base64?

O hex precisa de 2 caracteres por byte, enquanto o Base64 precisa de cerca de 1,33. Um hash SHA-256 de 32 bytes tem 44 caracteres em Base64 e 64 caracteres em hex.

Como obtenho hex em maiúsculas ou separado por dois-pontos?
Os dígitos hexadecimais não diferenciam maiúsculas de minúsculas, então os dois formatos representam o mesmo valor. Para um estilo específico, cole o hex no codificador Base16 com Entrada como definida para Hex e então marque Maiúsculas, selecione Espaço ou Dois-pontos em Separador, ou 0x em Prefixo.
Posso converter valores Base64URL de um JWT ou de uma JSON Web Key?

Sim. Os caracteres seguros para URL e a falta de preenchimento são tratados automaticamente, então parâmetros de chave e assinaturas podem ser colados sem alterações.