Editor Hexadecimal Binário | Visualize e edite arquivos em hexadecimal

Arraste e solte um arquivo para ver seu conteúdo byte a byte em formato hexadecimal (hex dump). Identifique o verdadeiro tipo do arquivo através dos bytes mágicos, edite bytes individuais e baixe o resultado. O arquivo nunca é enviado a um servidor.

Assinaturas de arquivo comuns (números mágicos)

Formato Bytes iniciais (hex) Deslocamento Observação
PNG 89 50 4E 47 0D 0A 1A 0A 0 Arquivo de imagem. Se os 8 bytes coincidirem, confirma-se PNG com quase total certeza
JPEG FF D8 FF 0 Arquivo de imagem. O 4º byte varia conforme a variante (JFIF, Exif etc.)
GIF 47 49 46 38 39 61 / 47 49 46 38 37 61 0 A string ASCII "GIF89a" ou "GIF87a"
PDF 25 50 44 46 2D 0 A string ASCII "%PDF-", seguida do número da versão
ZIP / docx / xlsx / jar 50 4B 03 04 0 Formato ZIP. Office Open XML e muitos formatos de arquivo compactado são internamente ZIP
Executável do Windows (EXE/DLL) 4D 5A 0 A string ASCII "MZ", um cabeçalho herdado do MS-DOS ainda presente no formato PE
Executável ELF 7F 45 4C 46 0 Executáveis e bibliotecas compartilhadas usados no Linux e sistemas similares

O que é um editor hexadecimal binário

No fundo, qualquer arquivo nada mais é do que uma sequência de bytes. Um editor hexadecimal exibe esse conteúdo byte a byte em formato hexadecimal e permite reescrevê-lo diretamente quando necessário. Em muitos formatos, justamente os primeiros bytes trazem os chamados bytes mágicos, que revelam o verdadeiro tipo do arquivo — uma forma de confirmar o formato real sem confiar cegamente na extensão.

Esta ferramenta carrega arquivos ao arrastá-los ou por digitação direta de hexadecimal. A visualização, a edição e o download acontecem inteiramente no navegador, sem que o conteúdo seja enviado a um servidor. Para arquivos grandes, porém, apenas os primeiros 64KB são processados; o restante não é preservado nem no download.

Como usar o editor hexadecimal

  1. Carregue o arquivo Arraste um arquivo até a área indicada ou cole diretamente uma sequência hexadecimal. Espaços e quebras de linha são ignorados.
  2. Verifique os bytes iniciais Observe a região próxima ao deslocamento 0 e compare com a tabela acima para identificar o verdadeiro formato do arquivo.
  3. Edite um byte Clique em uma célula hexadecimal para alterar aquele byte para um valor entre 00 e FF. A coluna ASCII também é atualizada automaticamente.
  4. Baixe o resultado Salve o conteúdo editado como um arquivo. O original permanece inalterado, então é seguro testar edições experimentais.

Dicas para aproveitar melhor

  • Para desmascarar um arquivo cuja extensão foi alterada, compare seus bytes iniciais (bytes mágicos) com a tabela acima. A extensão é apenas um rótulo, mas os bytes mágicos vêm do próprio formato e são muito mais difíceis de falsificar.
  • No modo de hexadecimal manual, você pode colar sequências de bytes copiadas de outras ferramentas (separadas por espaços ou quebras de linha, ambas funcionam) e carregá-las diretamente.
  • Se você clicar na célula errada durante a edição, pressione Esc para cancelar a edição daquela célula sem alterar o byte.
  • Ao depurar um protocolo binário, compare nesta ferramenta os bytes esperados com os que foram realmente enviados ou recebidos para localizar exatamente onde eles divergem.

Cenários de uso do editor hexadecimal

Desmascarar arquivos com extensão falsificada

Verificar os bytes iniciais revela se a extensão informada realmente corresponde ao formato do arquivo — útil para checar anexos suspeitos.

Investigar a causa de um arquivo corrompido

A sequência de bytes permite avaliar se o cabeçalho está faltando ou se o arquivo foi cortado no meio, ajudando a decidir se a recuperação é viável.

Aprender as especificações de um formato de arquivo

Ler a especificação lado a lado com a sequência real de bytes ajuda a entender de forma concreta como um cabeçalho é estruturado.

Criar dados de teste propositalmente corrompidos

Alterar bytes específicos permite verificar como um programa se comporta ao receber um arquivo anômalo.

Depurar um protocolo binário byte a byte

Dá para inspecionar diretamente os dados brutos enviados ou recebidos, sem precisar de um analisador de rede separado.

Termos sobre dados binários

Byte
Unidade composta por 8 bits. Em hexadecimal, é representado por dois dígitos, de 00 a FF.
Bytes mágicos
Sequência característica no início de um arquivo que indica seu formato. Também chamada de assinatura de arquivo.
Deslocamento (offset)
A posição de um byte, contada a partir do início do arquivo. Geralmente expressa em hexadecimal.
Cabeçalho (header)
Seção no início do arquivo que reúne informações como formato e tamanho.
Exibição ASCII
Representação em que cada byte é interpretado como caractere, útil para localizar trechos de texto embutidos.
Ordem dos bytes (endianness)
O critério usado para ordenar os bytes de um número de múltiplos bytes. Dependendo do formato, o byte mais significativo pode vir primeiro ou por último.

Perguntas frequentes

Sim. Carregue o arquivo e compare seus bytes iniciais com a tabela de "assinaturas de arquivo comuns" acima. Se um arquivo chamado `.txt` na verdade começa com FF D8 FF, é muito provável que seja uma imagem JPEG, independentemente da extensão.

Renderizar de uma só vez um arquivo de centenas de megabytes ou vários gigabytes como despejo hexadecimal poderia travar ou congelar a aba do navegador devido à enorme quantidade de elementos DOM envolvidos. Limitar a visualização aos primeiros 64KB mantém casos de uso comuns, como inspecionar cabeçalhos de arquivo, seguros e responsivos.

Se o conteúdo exibido foi truncado para os primeiros 64KB, o download incluirá apenas esses 64KB (o que estiver além disso não é preservado). Para arquivos de 64KB ou menos, tudo exceto os bytes que você editar é baixado exatamente como estava no original.

Não. O carregamento, a visualização, a edição e o download do arquivo acontecem inteiramente em JavaScript no seu navegador; o conteúdo do arquivo nunca é transmitido para lugar nenhum.
Tool-kun

Curiosidade — Por que a verdadeira identidade de um arquivo está nos bytes, não na extensão

A extensão de um arquivo é apenas uma dica que informa ao sistema operacional qual aplicativo usar para abri-lo; é um rótulo que existe de forma independente do conteúdo real do arquivo. Renomear `foto.jpg` para `notas.txt` não o transforma em texto, e remover a extensão de uma imagem real não apaga os dados da imagem por baixo. Justamente por esse rótulo ser, essencialmente, uma autodeclaração, o malware há muito tempo o explora para disfarçar executáveis como imagens ou documentos inofensivos.

Para contornar isso, a maioria dos formatos de arquivo incorpora um identificador único — chamado bytes mágicos ou número mágico — nos primeiros bytes. Um arquivo PNG, por exemplo, sempre começa com a sequência exata de 8 bytes `89 50 4E 47 0D 0A 1A 0A`, conforme definido pela especificação. Isso significa que um sistema operacional ou aplicativo só pode ter certeza real sobre o formato de um arquivo após inspecionar seu conteúdo real, não seu nome. Tanto o comando `file` do Unix quanto a detecção de tipo MIME dos navegadores baseiam-se principalmente na comparação desses bytes mágicos, e não na extensão.

Algumas sequências de bytes mágicos escondem um detalhe histórico engenhoso. Os 8 bytes do PNG incluem deliberadamente uma sequência de quebra de linha (0D 0A) justamente para que transferências em modo texto — que às vezes alteram as quebras de linha — possam ser detectadas como corrompidas. Longe de ser um identificador arbitrário, ele também funciona como uma verificação de integridade embutida, um pequeno detalhe que revela o quanto de reflexão existe por trás do design de formatos binários.