Arquivos, binários e compressão

Visualizador hexadecimalLeia um arquivo byte a byte e reconstrua-o a partir de um dump

Abra um arquivo para percorrer os bytes, ou mude para «Colar dump» para transformar a saída do xxd ou do hexdump -C de volta em arquivo.

Visualizador hexadecimal

Entrada

example-1x1.png

70 bytes (0x46)

Solte um arquivo aqui ou use «Abrir arquivo».

Os arquivos são lidos localmente no navegador, em pequenas partes; nada é enviado.

Visão hexadecimal

00000000 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 .PNG........IHDR
00000010 00 00 00 01 00 00 00 01 08 06 00 00 00 1f 15 c4 ................
00000020 89 00 00 00 0d 49 44 41 54 78 da 63 64 60 f8 5f .....IDATx.cd`._
00000030 0f 00 02 87 01 80 eb 47 ba 92 00 00 00 00 49 45 .......G......IE
00000040 4e 44 ae 42 60 82 ND.B`.
Seleção 0x00000000–0x00000000 (1 bytes)

Clique em um byte para mover o cursor. Shift+clique ou Shift+setas ampliam a seleção; PageUp, PageDown, Home e End funcionam dentro da visão.

Inspetor em 0x00000000 (0) · Little endian

Bits
10001001
int8
-119
uint8
137
int16
20617
uint16
20617
int32
1196314761
uint32
1196314761
int64
727905341920923785
uint64
727905341920923785
float32
52816.53515625
float64
5.292397776572611e-260
UTF-8
—

Opções

example-1x1.png: 70 bytes.

Um visualizador hexadecimal é o que você abre quando um arquivo não diz o que é: um download que não instala, um blob de configuração gravado por um aplicativo, uma imagem de firmware, um PNG que nenhum programa quer abrir. A coluna de offset mostra onde você está, a coluna hex mostra cada byte exatamente como é e a coluna ASCII destaca as strings legíveis.

Dá para ver o arquivo em hexadecimal no terminal com xxd ou hexdump -C, e este visualizador hexadecimal usa exatamente o mesmo layout, então você compara linha a linha. O que o terminal não tem é um cursor: clique em um byte e o inspetor lê o inteiro ou o ponto flutuante que começa ali, em little ou big endian. Na mesma página você também transforma um dump hexadecimal colado num chamado de volta no binário original.

Por que usar este visualizador hexadecimal

Ele se lê como o terminal, mas você pode apontar para um byte e perguntar quanto ele vale.

Arquivos grandes abrem na hora

Só as dezesseis linhas visíveis e os oito bytes sob o cursor são lidos. Uma imagem de disco de 3 GB rola tão suave quanto um ícone de 3 KB, e nada é cortado no primeiro megabyte.

Um arquivo comprido à esquerda com uma pequena janela destacada, ampliada à direita numa grade hexadecimal de dezesseis linhas com o byte do cursor marcado.

Um dump colado vira arquivo de novo

Cole a saída do xxd ou do hexdump -C, inclusive as linhas * que o hexdump usa para linhas repetidas, e baixe os bytes como .bin. Uma linha com buraco no offset é informada com o número da linha em vez de ser preenchida com zeros.

Linhas de um dump hexadecimal com uma delas contornada em vermelho por um buraco no offset e uma seta para o arquivo binário reconstruído.

Valores nas duas ordens de bytes

O inspetor lê os bytes do cursor como inteiros de 8 a 64 bits e pontos flutuantes de 32 ou 64 bits. Alternando entre little e big endian você vê os mesmos quatro bytes virarem dois números bem diferentes.

Quatro bytes coloridos lidos em duas ordens: invertidos à esquerda para little endian e na ordem à direita para big endian, cada um gerando uma barra de valor diferente.

Aproveite melhor a visão

01

Abra um arquivo ou cole um dump

Solte um arquivo na entrada ou use «Abrir arquivo»; a visão aparece na hora, sem carregar o arquivo inteiro. «Colar dump» aceita xxd, hexdump -C, hex puro ou array em C e converte 350 ms depois que você para de digitar.

  • Desligue «Converter automaticamente» para converter só com «Converter» ou Ctrl/Cmd+Enter.
  • «Carregar exemplo» no modo colar insere um hexdump -C com uma linha *, para você ver como as linhas resumidas são expandidas.
02

Navegue pelo teclado, não pela barra de rolagem

Clique em um byte e use as setas, PageUp e PageDown. Ctrl/Cmd+Home e Ctrl/Cmd+End vão para o primeiro e o último byte. «Ir para o offset» aceita 0x1A0, 1A0h ou o decimal 416.

  • A busca usa bytes hex por padrão, então uma assinatura como 89 50 4E 47 ou FF D8 FF é encontrada do jeito que está; mude para «Texto» para strings.
03

Exporte exatamente os bytes escolhidos

Selecione bytes com Shift+clique ou digitando offset inicial e tamanho, depois escolha o formato. Na saída hexdump -C e xxd a coluna de offset mantém os offsets reais do arquivo, então o trecho continua alinhado com o original.

  • Exportações em texto vão até 1 MiB; «Baixar seleção (.bin)» copia os bytes direto e não tem esse limite.

O que dá para fazer com os bytes

O mesmo layout do terminal

Hex em minúsculas, um espaço extra depois do oitavo byte, bytes não imprimíveis como ponto e 8, 16 ou 32 bytes por linha. Bytes zero ficam esmaecidos para você pular o preenchimento.

Busca de bytes e texto

Busque uma sequência hex ou uma string UTF-8 no arquivo inteiro, num worker em segundo plano, com barra de progresso, contador e botões de anterior e próximo. Resultados que atravessam a divisa entre blocos também são encontrados.

Inspetor de dados

Inteiros com e sem sinal de 8, 16, 32 e 64 bits, float32, float64, os bits do byte atual e o caractere UTF-8 que começa ali, tudo lido a partir da posição do cursor.

Quatro formatos de texto e bytes brutos

Copie ou baixe uma seleção como hexdump -C, xxd, hex puro no layout do xxd -p ou array em C como o do xxd -i, ou salve os bytes brutos como .bin.

Limites e regras de leitura

Só leitura: os bytes nunca mudam
Não há edição, inserção, preenchimento nem localizar e substituir, e o arquivo original nunca é regravado. Para aplicar um patch, exporte o intervalo como xxd, edite o texto, cole de volta no modo «Colar dump» e baixe o .bin — o mesmo ciclo do xxd com xxd -r.
Buraco no dump colado é erro, não zero
O offset de cada linha precisa continuar exatamente onde a anterior terminou. O xxd -r preenche um buraco com bytes zero; esta ferramenta para no primeiro buraco, sobreposição ou caractere inesperado e informa linha e coluna, porque um buraco quase sempre significa linhas perdidas na cópia. Firmware Intel HEX é reconhecido e recusado com mensagem própria.
Limites de tamanho
Abre arquivos de até 4 GiB. Dumps colados vão até 16 MiB de texto, exportações em texto até 1 MiB de bytes selecionados, e a busca para depois de 10.000 resultados, avisando. Um padrão de busca tem no máximo 256 bytes.
O que a coluna de texto e a busca não fazem
A coluna de texto é ASCII puro, então caracteres UTF-8 de vários bytes aparecem como pontos; a linha UTF-8 do inspetor decodifica o caractere sob o cursor. «Ignorar maiúsculas» vale só para A–Z. Não há curingas, busca por valor numérico, detecção de tipo de arquivo nem análise de estrutura.

Dúvidas sobre o visualizador hexadecimal

Como visualizar um arquivo .bin?

Solte o arquivo no visualizador hexadecimal acima, sem instalar nada. Cada byte aparece em hex com o seu offset, e os trechos legíveis aparecem na coluna ASCII.

Como usar o hexdump no Linux?

O mais comum é hexdump -C arquivo, que mostra offset, bytes em hex e ASCII. Esta ferramenta exporta exatamente esse formato, e também aceita essa saída colada para refazer o arquivo binário.

Dá para transformar arquivos em binário, hexadecimal ou texto e vice-versa sem instalar programas?

Sim, no navegador: abra o arquivo para vê-lo em hexadecimal, exporte a seleção como texto hex, e no modo «Colar dump» transforme texto hex de volta em arquivo .bin.

Como converter código HEX em arquivo binário?

Mude para «Colar dump», cole o hex — puro, com espaços, com 0x, em array C, ou saída de xxd e hexdump -C — e clique em «Baixar arquivo inteiro (.bin)». Se o texto for Intel HEX de firmware, com linhas começando por dois-pontos, a ferramenta avisa, porque esse formato precisa de outro conversor.

Como abrir código binário?

Código compilado não é texto, por isso um editor comum mostra caracteres estranhos. No visualizador hexadecimal cada byte aparece como dois dígitos hex, e o inspetor mostra os valores inteiros e de ponto flutuante a partir do cursor.

Ainda tem dúvida?

Abra um arquivo no visualizador hexadecimal

Carregue primeiro o PNG de exemplo para ver a assinatura, o bloco IHDR e a largura lida em big endian no inspetor, depois abra o seu próprio arquivo no visualizador hexadecimal.

Tudo roda localmente no seu navegador.