Por que olhar o texto em hexadecimal
Quando um texto dá problema (um caractere misterioso num CSV, uma assinatura que não bate, uma API que recusa um nome), o diagnóstico mais rápido é olhar os bytes. O hexadecimal mostra cada byte com dois caracteres, então 4f 69 é Oi e c3 a7 é ç em UTF-8. Caracteres invisíveis aparecem na hora: um espaço não separável é c2 a0, um espaço de largura zero e2 80 8b, uma quebra de linha do Windows 0d 0a.
Strings hexadecimais também são o que você cola em ferramentas de protocolo, arrays de bytes no código e fixtures de teste.
Exemplo resolvido
Ação → 41 c3 a7 c3 a3 6f. O A e o o são ASCII puro; c3 a7 é a forma UTF-8 de dois bytes do ç, e c3 a3 a do ã. Se a mesma palavra fosse salva em Latin-1, o ç seria só e7, e é por isso que misturar codificações embaralha textos acentuados.
Como funciona
A página codifica o texto em UTF-8 e escreve cada byte com dois dígitos hexadecimais, em minúsculas ou maiúsculas, com ou sem espaços entre os bytes. Caracteres ASCII dão um byte cada; letras acentuadas dois; a maioria dos outros alfabetos três; emoji quatro. Espaços, tabs e quebras de linha são codificados como qualquer outro caractere, o que ajuda a achar espaços escondidos. Mude para Decodificar para o caminho inverso. Tudo roda nesta aba.
Perguntas frequentes
Qual é o hexadecimal de um espaço?
20. Um espaço não separável é c2 a0 em UTF-8, causa frequente de espaçamentos estranhos.
Por que o ç vira dois bytes?
O UTF-8 guarda os caracteres fora do ASCII em dois a quatro bytes; ç é c3 a7.
É o mesmo que o código Unicode?
Não. Estes são bytes UTF-8. O código do ç é U+00E7; use o conversor Unicode para códigos.
Meu texto é enviado?
Não. A conversão é feita no navegador.
Fontes
- The Unicode Standard, latest version
- RFC 4648 — The Base16, Base32, and Base64 Data Encodings
- Wikipedia — Hexadecimal
Revisado em 17 de out. de 2026 · vetores de teste fixtures/dev/text-to-hex/