Base64 para Hex

Converte entre Base64 e hexadecimal

Base64

Hex

Roda localmente · Seguro para colar segredos
O resultado aparecerá aqui…
Base64 → Hex

O que é a Conversão de Base64 para Hex?

A conversão de Base64 para hex transforma dados entre dois esquemas comuns de codificação binário-para-texto. O Base64 representa dados binários usando 64 caracteres ASCII (A-Z, a-z, 0-9, +, /), codificando cada 3 bytes em 4 caracteres. O hexadecimal representa cada byte como exatamente dois caracteres de um alfabeto de 16 símbolos (0-9, a-f). Converter entre esses formatos é um processo de duas etapas: decodificar a string Base64 em seus bytes brutos e, em seguida, recodificar esses bytes no formato de destino.

A notação hexadecimal é a representação padrão para dados binários em programação de baixo nível, criptografia e protocolos de rede. Cada caractere hex mapeia diretamente para um nibble de 4 bits, tornando simples a leitura de valores individuais de bytes. Um hash SHA-256, por exemplo, é quase sempre exibido como uma string hex de 64 caracteres. O Base64, por outro lado, é otimizado para compacidade — o mesmo hash ocupa apenas 44 caracteres em Base64 — e é a codificação padrão para anexos de e-mail (MIME), URIs de dados e payloads de API.

Ambas as codificações são definidas na RFC 4648. A conversão entre elas é sem perdas: nenhum dado é adicionado ou removido, apenas a representação textual muda. Isso torna a conversão de Base64 para hex uma operação rotineira ao depurar payloads cifrados, inspecionar impressões digitais de certificados ou verificar saídas de hash em sistemas que usam formatos de exibição diferentes.

Por que usar este Conversor de Base64 para Hex?

Esta ferramenta converte entre Base64 e hexadecimal diretamente no seu navegador. Nenhum dado sai da sua máquina, e a conversão acontece em tempo real enquanto você digita.

Conversão Instantânea
Cole Base64 ou hex e veja o resultado imediatamente — sem envio para um servidor. O modo bidirecional permite alternar entre as direções com um clique.
🔒
Processamento com Privacidade
Toda a conversão é feita localmente no seu navegador usando JavaScript. Suas chaves criptográficas, hashes e tokens nunca são transmitidos pela rede.
Modo Bidirecional
Alterne entre Base64-para-hex e hex-para-Base64 com um único botão. A ferramenta detecta e trata variantes de Base64 padrão e URL-safe.
📋
Saída Limpa, Pronta para Colar
A saída é hex em letras minúsculas, sem delimitadores ou prefixos — o formato esperado pela maioria das APIs, CLIs e linguagens de programação. Copie com um clique.

Casos de Uso do Conversor Base64 para Hex

Desenvolvedor Frontend
Converta respostas de API codificadas em Base64 para hex ao depurar protocolos binários, frames WebSocket ou conteúdos de ArrayBuffer no console DevTools do navegador.
Engenheiro Backend
Traduza digests de hash Base64 de assinaturas JWT ou respostas HMAC para hex, a fim de comparar com valores armazenados em bancos de dados ou gerados pelo OpenSSL que usam representação hex.
DevOps / SRE
Verifique impressões digitais de certificados TLS convertendo a chave pública Base64 de arquivos PEM para o formato hex exibido por navegadores e ferramentas de monitoramento.
Analista de Segurança
Inspecione chaves de criptografia e vetores de inicialização (IVs) que chegam como Base64 no tráfego de API — converta para hex para análise em nível de byte no Wireshark ou CyberChef.
Engenheiro de Dados
Transforme colunas binárias codificadas em Base64 de bancos de dados (PostgreSQL bytea, MongoDB BinData) para hex em scripts de comparação, log ou migração.
Estudante / Aprendiz
Entenda a relação entre Base64 e hexadecimal vendo como os mesmos bytes são representados em cada formato, reforçando os fundamentos de codificação.

Base64 vs Codificação Hexadecimal

Base64 e hexadecimal ambos convertem dados binários em texto legível, mas fazem trocas diferentes entre compacidade e legibilidade. A tabela abaixo resume as principais diferenças.

PropriedadeBase64Hexadecimal
AlfabetoA-Z a-z 0-9 + / =0-9 a-f
Bits por caractere64
Overhead de tamanho~33% maior que o bruto100% maior que o bruto
LegibilidadeCompacto mas opacoCada byte visível em 2 chars
Uso principalE-mail, URIs de dados, APIsHashes criptográficos, endereços MAC, cores
EspecificaçãoRFC 4648IEEE 754, RFC 4648 sec 8

Exemplos de Conversão

A tabela abaixo mostra sequências de bytes idênticas em suas representações Base64 e hexadecimal. Observe que a saída hex tem sempre exatamente o dobro da contagem de bytes, enquanto o comprimento Base64 é igual a ceil(byteCount / 3) * 4.

Entrada (texto / bytes)Base64Hex
HelloSGVsbG8=48656c6c6f
ABQUI=4142
0xFFMHhGRg==30784646
AAE=0001
key=vala2V5PXZhbA==6b65793d76616c
Þ­¾ï (bytes)3q2+7w==deadbeef

Como Funciona a Conversão

Converter Base64 para hexadecimal é um processo de duas fases. Primeiro, a string Base64 é decodificada em bytes brutos mapeando cada caractere para seu valor de 6 bits, concatenando os bits e dividindo-os em bytes de 8 bits (descartando o padding). Esta etapa inverte a codificação definida na RFC 4648 Seção 4.

Em seguida, cada byte é convertido para sua representação hexadecimal de dois dígitos. O valor do byte 0-255 mapeia para 00-ff. Um byte como 0x4F (decimal 79) se torna os dois caracteres '4' e 'f'. A string hex completa é simplesmente a concatenação de todos os pares de dois caracteres. A direção inversa (hex para Base64) aplica essas etapas na ordem inversa: analisa pares hex em bytes e depois codifica o resultado em Base64.

Binário de 4 bitsDígito hex
00000
00011
00102
00113
01004
01015
01106
01117
10008
10019
1010a
1011b
1100c
1101d
1110e
1111f

Exemplos de Código

Estes trechos executáveis mostram como converter entre Base64 e hex em JavaScript, Python, Go e linha de comando. Cada exemplo cobre as duas direções de conversão.

JavaScript (browser / Node.js)
// Base64 to Hex
function base64ToHex(b64) {
  const raw = atob(b64)
  return Array.from(raw, c =>
    c.charCodeAt(0).toString(16).padStart(2, '0')
  ).join('')
}
base64ToHex('SGVsbG8=') // → "48656c6c6f"

// Hex to Base64
function hexToBase64(hex) {
  const bytes = hex.match(/.{1,2}/g).map(b => parseInt(b, 16))
  return btoa(String.fromCharCode(...bytes))
}
hexToBase64('48656c6c6f') // → "SGVsbG8="

// Node.js Buffer shorthand
Buffer.from('SGVsbG8=', 'base64').toString('hex')   // → "48656c6c6f"
Buffer.from('48656c6c6f', 'hex').toString('base64')  // → "SGVsbG8="
Python
import base64, binascii

# Base64 to Hex
b64_str = 'SGVsbG8='
raw_bytes = base64.b64decode(b64_str)
hex_str = raw_bytes.hex()            # → '48656c6c6f'
# or: binascii.hexlify(raw_bytes).decode()

# Hex to Base64
hex_str = '48656c6c6f'
raw_bytes = bytes.fromhex(hex_str)
b64_str = base64.b64encode(raw_bytes).decode()  # → 'SGVsbG8='

# One-liner for quick conversion
base64.b64encode(bytes.fromhex('deadbeef')).decode()  # → '3q2+7w=='
Go
package main

import (
    "encoding/base64"
    "encoding/hex"
    "fmt"
)

func main() {
    // Base64 to Hex
    raw, _ := base64.StdEncoding.DecodeString("SGVsbG8=")
    hexStr := hex.EncodeToString(raw)
    fmt.Println(hexStr) // → "48656c6c6f"

    // Hex to Base64
    raw2, _ := hex.DecodeString("48656c6c6f")
    b64Str := base64.StdEncoding.EncodeToString(raw2)
    fmt.Println(b64Str) // → "SGVsbG8="
}
CLI (bash)
# Base64 to Hex (using base64 + xxd)
echo -n 'SGVsbG8=' | base64 -d | xxd -p
# → 48656c6c6f

# Hex to Base64
echo -n '48656c6c6f' | xxd -r -p | base64
# → SGVsbG8=

# OpenSSL alternative
echo -n 'SGVsbG8=' | openssl base64 -d | xxd -p
# → 48656c6c6f

Perguntas Frequentes

Qual é a diferença entre Base64 e hexadecimal?
Base64 usa 64 caracteres e codifica 6 bits por caractere, resultando em cerca de 33% de overhead em relação aos bytes brutos. O hexadecimal usa 16 caracteres e codifica 4 bits por caractere, resultando em 100% de overhead — exatamente o dobro do tamanho original. Base64 é mais compacto; hex é mais legível para humanos porque cada byte mapeia exatamente para dois caracteres.
A conversão de Base64 para hex tem perdas?
Não. Base64 e hex são codificações determinísticas e reversíveis dos mesmos bytes subjacentes. Converter entre eles não altera, comprime ou criptografa os dados. A sequência de bytes brutos é idêntica antes e depois da conversão — apenas a representação textual muda.
Por que a saída hex é maior do que a entrada Base64?
Hex sempre produz 2 caracteres por byte, enquanto Base64 produz cerca de 1,33 caracteres por byte. Um valor de 20 bytes resulta em 28 caracteres Base64, mas 40 caracteres hex. Este é o trade-off inerente: hex é maior, mas cada fronteira de byte é imediatamente visível.
Posso converter Base64url (Base64 seguro para URL) para hex?
Sim. Base64url substitui + por - e / por _ e omite o padding. Esta ferramenta normaliza automaticamente a entrada Base64url antes da conversão. No código, substitua - por + e _ por / e adicione padding antes de decodificar: os bytes resultantes são idênticos ao Base64 padrão.
Como converter um hash SHA-256 de Base64 para hex?
Cole o hash Base64 nesta ferramenta para obter a string hex de 64 caracteres. No código: decodifique a string Base64 em bytes (32 bytes para SHA-256) e, em seguida, codifique esses bytes em hex. Por exemplo, em Python: bytes.fromhex é o inverso — base64.b64decode(b64_hash).hex() fornece a representação hex.
O que acontece se a entrada Base64 contiver espaços ou quebras de linha?
A maioria dos decodificadores Base64, incluindo esta ferramenta, remove os espaços antes de decodificar. Certificados codificados em PEM e conteúdo codificado em MIME geralmente quebram o Base64 em 64 ou 76 caracteres por linha. As quebras de linha não fazem parte dos dados codificados e são ignoradas com segurança durante a conversão.
Quando devo usar hex em vez de Base64?
Use hex quando precisar de legibilidade em nível de byte — inspecionando saídas criptográficas, depurando protocolos binários ou especificando valores de cor (#ff5733). Use Base64 quando a compacidade for importante — incorporando dados em JSON, transmitindo por e-mail (MIME) ou construindo URIs de dados. Para armazenamento e transmissão, Base64 economiza cerca de 33% de espaço em comparação com hex.