Enviar um arquivo
  1. base64hub
  2. Outras bases
  3. Hex para Base64

Conversor de hex para Base64 para hashes e chaves

Cole bytes em hex e receba os mesmos bytes em Base64. Um digest SHA-256 de 64 dígitos vira 44 caracteres Base64, porque o hex é decodificado para bytes antes, em vez de ser codificado como texto.

Grátis sem cadastro, sem limites Local nada é enviado 44 caracteres para um digest SHA-256, não 88 Atualizado 27 de out. de 2026
Entrada 0Bytes 0 BSaída 0

Processado no seu navegador. Esta página não consegue enviar seus dados para lugar nenhum – como sabemos

Como converter hex para Base64

  1. Cole o hex em Entrada · Hex. Espaços, quebras de linha, dois-pontos, hífens e os prefixos 0x ou \x são ignorados, e maiúsculas ou minúsculas tanto faz.
  2. O Base64 aparece em Saída · Base64 enquanto você digita.
  3. Abaixo da saída, desmarque Preenchimento (=) se o destino quer Base64 sem preenchimento, e ajuste Quebra de linha para 64 (PEM) ou 76 (MIME) para obter a saída quebrada.
  4. Clique em Copiar saída, ou use o botão Base64 → Hex para conferir o resultado no sentido inverso. O Base64 para Hex é a mesma ferramenta ao contrário.

Digests de hash: hex ou Base64

Funções de hash devolvem bytes brutos. Ferramentas de linha de comando como sha256sum e md5sum imprimem esses bytes em hex, enquanto muitos protocolos esperam o mesmo digest em Base64. Estes são os digests dos cinco bytes hello:

HashHex (do sha256sum etc.)Base64
MD55d41402abc4b2a76b9719d911017c592XUFAKrxLKna5cZ2REBfFkg==
SHA-1aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434dqvTGHdzF6KLavt4PO0gs2a6pQ00=
SHA-2562cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824LPJNul+wow4m6DsqxbninhsWHlwfp0JecwQzYpOLmCQ=

Onde a forma Base64 é exigida:

  • Subresource Integrity. integrity="sha384-…" numa tag <script> ou <link> contém um digest em Base64. O gerador de hash SRI monta o atributo inteiro a partir de um arquivo.
  • Headers Content-MD5. A RFC 1864 define o valor como o Base64 do digest MD5 de 16 bytes, e object stores que verificam uploads com ele rejeitam a forma hex. Veja MD5 em Base64.
  • Assinaturas e HMACs em requisições de API, que normalmente vão em Base64. O HMAC em Base64 os calcula nas duas formas.
  • Chaves e segredos: uma chave de 32 bytes impressa por openssl rand -hex 32 vira o valor Base64 de 44 caracteres que muitos arquivos de configuração esperam.

Para o SHA-256 do seu próprio texto ou arquivo, o SHA-256 em Base64 pula a etapa do hex por completo.

O erro de sempre: codificar o texto hex

echo -n 2cf24d…9824 | base64 dá um resultado plausível, mas errado. Ele codifica os 64 caracteres ASCII do hex em vez dos 32 bytes que eles representam, e devolve 88 caracteres começando com MmNmMjRk. Esse valor decodifica de volta para o texto hex, então nada reclama até uma assinatura ou uma verificação de integridade falhar. Decodifique o hex antes:

echo -n 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 | xxd -r -p | base64
# LPJNul+wow4m6DsqxbninhsWHlwfp0JecwQzYpOLmCQ=

printf hello | openssl dgst -sha256 -binary | base64
# same result, without going through hex at all

xxd -r -p transforma hex puro de volta em bytes. Ele vem com o Vim; em sistemas mínimos, instale o pacote xxd. No OpenSSL, é o -binary que faz o digest sair como bytes em vez de hex.

Hex para Base64 no código

import base64
base64.b64encode(bytes.fromhex("5d41402abc4b2a76b9719d911017c592")).decode()
# 'XUFAKrxLKna5cZ2REBfFkg=='
Buffer.from("5d41402abc4b2a76b9719d911017c592", "hex").toString("base64");
// 'XUFAKrxLKna5cZ2REBfFkg=='

As páginas de Python e Node.js cobrem as variantes URL-safe e sem preenchimento. Quando o digest vai para uma URL ou um JWT, converta o resultado com o Base64 para Base64URL.

Se a conversão falhar

  • “número ímpar de dígitos hex”. Cada byte precisa de dois dígitos; um se perdeu na cópia. Confira as duas pontas da entrada.
  • “caractere inesperado”. Há algo que não é hex na entrada, como um rótulo sha256: ou o nome de arquivo que o sha256sum imprime depois do digest. Remova; Mostrar leva direto ao ponto.
  • Offsets de um dump hex. Em 00000010: 4865 6c6c, o 00000010 é uma posição, não dados, mas é hex válido e será convertido. Use a saída de xxd -p, que não tem offsets.

Perguntas frequentes

Como converter um hash SHA-256 em hex para Base64?

Cole os 64 dígitos hex na entrada. O resultado tem 44 caracteres e termina em =; por exemplo, 2cf24dba…9824 vira LPJNul+wow4m6DsqxbninhsWHlwfp0JecwQzYpOLmCQ=. Na linha de comando: echo -n HEX | xxd -r -p | base64.

Por que meu Base64 ficou com o dobro do tamanho esperado?

A string hex foi codificada como texto, então cada dígito hex virou um byte. Um digest SHA-256 feito assim dá 88 caracteres em vez de 44. Decodifique o hex para bytes antes, que é o que este conversor faz.

Quantos caracteres Base64 uma string hex gera?

Dois dígitos hex formam um byte, e cada 3 bytes viram 4 caracteres Base64, arredondando para um múltiplo de 4. 32 dígitos hex (MD5) dão 24 caracteres, 40 (SHA-1) dão 28, 64 (SHA-256) dão 44 e 128 (SHA-512) dão 88.

Dá para converter um UUID em Base64?

Dá, cole com os hífens. Os 16 bytes de 123e4567-e89b-12d3-a456-426614174000 viram Ej5FZ+ibEtOkVkJmFBdAAA==, 24 caracteres em vez de 36.