Pular para o conteúdo
Case Converter Online
pt

Converter hexadecimal para texto

Cole bytes hexadecimais para lê-los como texto, ou digite um texto para ver os códigos hex dele. Espaços, prefixos 0x e escapes \x são todos reconhecidos.

Funciona nos dois sentidos. Espaços, 0x, \x, dois-pontos e vírgulas no hex são ignorados na decodificação.

O que é hexadecimal

O hexadecimal, ou hex, é um sistema numérico de base 16. Ele usa os dígitos de 0 a 9 e as letras de A a F, em que A significa 10 e F significa 15. Dois dígitos hex mostram qualquer valor de 0 a 255, que é exatamente um byte. Isso faz do hex um jeito compacto e legível de mostrar dados brutos.

Você encontra hex em despejos de memória, capturas de pacotes de rede, assinaturas de arquivos, códigos de cores, sequências de escape no código-fonte e logs de erro. Transformar esses bytes de volta em texto muitas vezes revela o que os dados dizem.

Como usar o conversor de hexadecimal para texto

Hex para texto. Cole o hex na caixa Hex, à esquerda. O texto decodificado aparece na caixa Texto, à direita. O conversor ignora os separadores mais comuns, então você pode colar:

  • bytes com espaços: 48 65 6c 6c 6f
  • uma sequência única: 48656c6c6f
  • prefixos no estilo C: 0x48 0x65 0x6c
  • sequências de escape: \x48\x65\x6c
  • bytes separados por dois-pontos ou vírgulas: 48:65:6c:6c:6f

Texto para hex. Digite na caixa Texto, à direita. O hex aparece à esquerda.

Formato do hex controla como o hex é escrito:

  • Com espaços: 48 65 6c para ler e comparar
  • Junto: 48656c para guardar de forma compacta e para strings no estilo de hash
  • Com prefixo: 0x48 0x65 para C, C++ e linguagens parecidas
  • Com escape: \x48\x65 para strings literais em Python, JavaScript e scripts de shell

Maiúsculas de A a F escreve as letras em maiúsculas. Copiar pega qualquer uma das caixas e Limpar esvazia as duas.

Como funciona

Para decodificar, o conversor tira os separadores, verifica se só sobraram dígitos hex e se a quantidade é par, e lê cada par de dígitos como um byte. Os bytes são decodificados como texto UTF-8. Para codificar, ele faz o contrário: o texto vira bytes UTF-8 e cada byte vira dois dígitos hex.

Cada dígito hex representa 4 bits. O byte 48 é 4 × 16 + 8 = 72, que é o código do H maiúsculo.

Exemplos

Hex Texto
41 A
48 69 21 Hi!
48 65 6c 6c 6f Hello
48 65 6c 6c 6f 2c 20 57 6f 72 6c 64 21 Hello, World!
63 61 66 c3 a9 café
e2 82 ac €
61 c3 a7 c3 a3 6f ação

O mesmo texto em cada formato de saída:

Formato café
Com espaços 63 61 66 c3 a9
Junto, em maiúsculas 636166C3A9
Com prefixo 0x63 0x61 0x66 0xc3 0xa9
Com escape \x63\x61\x66\xc3\xa9

Valores hex comuns

Hex Caractere Hex Caractere
20 espaço 30 0
0a nova linha 41 A
0d retorno de carro 61 a
09 tabulação 7e ~

Dicas e limites

  • Um resultado sem sentido costuma indicar que os dados não são texto. Imagens, arquivos compactados e dados criptografados viram símbolos estranhos e caracteres de substituição. Isso é esperado.
  • Texto antigo em português. Se um byte como e7 sozinho aparecer onde deveria estar um ç, o texto foi gravado em ISO-8859-1 ou Windows-1252, e não em UTF-8. Nessas codificações antigas, cada letra acentuada ocupa um único byte (e7 é ç, e3 é ã), e a decodificação em UTF-8 falha nesses pontos.
  • Confira a ordem dos bytes nos números. Esta ferramenta lê os bytes na ordem em que aparecem. Números de vários bytes em despejos de memória costumam estar em little endian, então leia da direita para a esquerda.
  • Códigos de cores em hex não são texto. #ff8800 descreve os níveis de vermelho, verde e azul, e não letras.
  • Hex não é criptografia. É só outra forma de escrever bytes.

Outras formas de converter hex

Linha de comando. No Linux e no macOS, xxd -p transforma um arquivo em hex simples e xxd -r -p faz o caminho inverso. echo -n Hello | xxd -p mostra 48656c6c6f.

Python. bytes.fromhex('48656c6c6f').decode() devolve Hello, e 'Hello'.encode().hex() devolve 48656c6c6f.

JavaScript (Node). Buffer.from('48656c6c6f', 'hex').toString() devolve Hello.

Excel. =CARACT(HEXADEC("48")) devolve H para bytes ASCII isolados (em inglês, =CHAR(HEX2DEC("48"))). =DECAHEX(72) faz o caminho inverso.

Ferramentas relacionadas

Para ver os mesmos bytes como uns e zeros, use o tradutor de código binário. A ferramenta de codificação UTF-8 mostra cada caractere com o code point e os bytes. Se os seus dados estão em Base64, e não em hex, use o decodificador Base64.

Hexadecimal para texto: perguntas e respostas

Como converter hexadecimal para texto?

Cole o hex na caixa Hex, à esquerda. O texto aparece na hora à direita. 48 65 6c 6c 6f, 48656c6c6f e 0x48 0x65 0x6c 0x6c 0x6f decodificam para Hello.

Por que aparece o erro de número ímpar de dígitos?

Cada byte é escrito com exatamente dois dígitos hex, então um hex válido sempre tem um número par de dígitos depois que os separadores são removidos. Um dígito faltando ou sobrando em algum lugar do que você colou é a causa mais comum. Valores de um dígito precisam ser escritos com zero à esquerda, como 0a em vez de a.

O resultado é ASCII ou UTF-8?

UTF-8, que inclui o ASCII. Um texto simples sem acentos dá o mesmo hex nos dois. Os caracteres além do ASCII ocupam mais de um byte, então é vira c3 a9, ç vira c3 a7 e o símbolo do euro vira e2 82 ac.

Maiúsculas e minúsculas fazem diferença no hex?

Não. 4F e 4f são o mesmo byte. Ligue Maiúsculas de A a F se o lugar onde você vai colar espera letras maiúsculas.

Mais ferramentas de código e dados

Ver todas as ferramentas