Ir para o conteúdo
AZ Tools

Detector de Tipo de Arquivo (Magic Bytes)

Lê os primeiros 512 bytes de qualquer arquivo solto no navegador e os compara com uma tabela de ~35 assinaturas de arquivo bem conhecidas (PNG, JPEG, GIF, WebP, PDF, ZIP, GZIP, 7z, MP3, FLAC, MP4, MKV, WOFF2, ELF, PE, SQLite, …). Compara o tipo detectado contra o MIME reportado pelo navegador (que vem do SO, geralmente da extensão) e sinaliza discrepâncias — útil quando verifica arquivos baixados, conferindo que um .jpg renomeado é realmente um JPEG, ou validando arquivos enviados por usuários antes de processá-los.

Como usar

  1. Solte ou escolha qualquer arquivo.
  2. Leia o tipo detectado — se discordar do declarado, o badge te dirá.

Perguntas frequentes

O arquivo sai do meu navegador?
Não. Só os primeiros 512 bytes são lidos, e só localmente via File API. Nada é enviado.
Por que um .docx aparece como ZIP?
DOCX, XLSX, PPTX, JAR, EPUB, e OOXML são todos contêineres ZIP por baixo. Pra distingui-los você precisaria inspecionar uma entrada específica dentro do arquivo — detecção por magic bytes sozinha não consegue diferenciá-los.
A assinatura bate e mesmo assim o arquivo não abre. Por quê?
Os bytes mágicos descrevem apenas o começo do arquivo. Um download interrompido, um binário transferido em modo texto (que reescreve as quebras de linha dentro dos dados) ou um contêiner com o conteúdo corrompido mantêm um cabeçalho perfeitamente válido enquanto o resto fica inutilizável. A detecção diz o que o arquivo afirma ser, não que ele esteja completo.
Dois formatos podem ter a mesma assinatura?
Podem, e o ZIP é o caso mais claro: .docx, .xlsx, .odt, .jar, .apk e .epub são todos arquivos ZIP, então a identidade real é decidida pelo que está dentro, e não pelos primeiros bytes. Alguns formatos também são identificados por bytes mais adiante no arquivo, e por isso um arquivo muito curto, ou embrulhado em outro contêiner, pode voltar sem identificação.

Guias sobre este tema

Ferramentas relacionadas