Enviar um arquivo
  1. base64hub
  2. Outras bases
  3. Texto para hex

Texto para hex: string e ASCII para hexadecimal

Digite ou cole um texto para ver os bytes dele em hex: Hello é 48656c6c6f. Escolha o charset, a caixa das letras e um separador, como espaço, :, 0x ou \x.

Grátis sem cadastro, sem limites Local nada é enviado \x escapes prontos para strings em C e Python 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 texto para hex

  1. Digite ou cole o texto em Entrada · Texto. O hex aparece em Saída · Hex enquanto você digita.
  2. Abaixo da entrada, o Charset define como os caracteres viram bytes. Deixe em UTF-8, a menos que o sistema que vai receber espere outra coisa.
  3. Abaixo da saída, escolha Caixa (minúsculas ou MAIÚSCULAS), Separador (nenhum, espaço, :, 0x ou \x) e Bytes por linha (nenhum, 16 ou 32).
  4. Use Copiar saída ou Baixar para o resultado. O botão Hex → Texto transforma de volta em texto, assim como Hex para texto.

Estilos de saída

As opções de separador e de caixa cobrem os lugares habituais onde o hex é colado. Para o texto Hi!:

OpçõesSaídaOnde se encaixa
nenhum, minúsculas486921hashes, URLs, JSON
espaço, MAIÚSCULAS48 69 21editores hex, documentação de protocolos
:48:69:21fingerprints, listas no estilo MAC
0x0x48 0x69 0x21código-fonte em C e assembly
\x\x48\x69\x21escapes de string em C, Python, printf do Bash

A forma \x entra direto em um literal de string: printf '\x48\x69\x21' no Bash imprime Hi!. Bytes por linha divide uma saída longa em linhas de 16 ou 32 bytes, para você contar os offsets a olho.

Um caractere, um ou mais bytes

Caracteres ASCII ocupam um byte cada, e o UTF-8 os mantém idênticos, então para texto em inglês os dois charsets geram o mesmo hex. Todo o resto depende do charset:

TextoUTF-8ISO-8859-1UTF-16LE
A414141 00
éc3 a9e9e9 00
€e2 82 acindisponívelac 20
👋f0 9f 91 8bindisponível3d d8 4b dc

Caracteres que um charset não consegue representar são substituídos por ?, e a linha de status diz quantos foram substituídos. Se o hex de outro sistema não bate com o seu, confira primeiro o charset dos dois lados.

Encontrando caracteres invisíveis

Converter para hex é o jeito mais rápido de ver caracteres que parecem não existir na tela. Duas strings que aparecem idênticas podem ter bytes diferentes:

Hex em UTF-8Caractere
20espaço normal
c2 a0espaço não separável, comum em texto copiado de páginas web e do Word
e2 80 8bespaço de largura zero
ef bb bfbyte order mark no início de um arquivo
0d 0aquebra de linha do Windows (só 0a no Linux e no macOS)

Se uma senha, chave de API ou valor de configuração está “correto, mas é rejeitado”, cole-o aqui com o Separador em espaço e procure qualquer um desses. A mesma verificação ajuda antes de codificar texto em Base64 com Texto para Base64: o Base64 preserva cada byte invisível, então eles sobrevivem no valor codificado.

Texto para hex no código

"Hi!".encode("utf-8").hex()       # '486921'
"Hi!".encode("utf-8").hex(" ")    # '48 69 21'  (separator argument, Python 3.8+)
"é".encode("latin-1").hex()       # 'e9'
const hex = Array.from(new TextEncoder().encode("café"),
  b => b.toString(16).padStart(2, "0")).join(" ");
// '63 61 66 c3 a9'

O TextEncoder sempre produz UTF-8. As páginas de JavaScript e Python mostram as chamadas equivalentes para Base64.

Perguntas frequentes

Como converter uma string em hex?

Cole a string na entrada. Cada caractere vira os seus valores de byte no charset escolhido, dois dígitos hex por byte. Em Python, o mesmo é "Hello".encode("utf-8").hex().

Como fica "Hello" em hex?

48 65 6c 6c 6f em ASCII e UTF-8, que coincidem para letras simples do inglês. Em UTF-16LE é 48 00 65 00 6c 00 6c 00 6f 00.

Por que o é vira dois bytes, c3 a9?

O UTF-8 codifica todo caractere acima de U+007F com dois a quatro bytes. Ajuste o Charset para ISO-8859-1 (Latin-1) ou Windows-1252 se você precisa do byte único e9.

Como obter hex com 0x na frente de cada byte?

Ajuste o Separador para 0x. A saída fica 0x48 0x65 0x6c 0x6c 0x6f. Para um literal de array completo em C ou Rust, o Base64 para array de bytes escreve também a declaração.