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
- Solte ou escolha qualquer arquivo.
- 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
Consulta de MIME Types
Encontre o MIME type pra uma extensão (ou vice-versa) e veja pra que cada tipo serve.
Visualizador de Arquivos EML
Solte um arquivo `.eml` e leia a mensagem analisada — cabeçalhos chave, partes de corpo plano e HTML, e uma lista de anexos — tudo no navegador.
Detector de Codificação de Arquivos
Envie qualquer arquivo de texto e detecte sua codificação — UTF-8, UTF-16 LE/BE, UTF-32, Latin-1, ASCII — com detecção de BOM, análise de sinal de byte e visualização hex.
Conversor de Tamanho de Bytes (KB / KiB / MB / MiB / ...)
Converta entre unidades decimais (KB, MB, GB — SI base 1000) e binárias (KiB, MiB, GiB — IEC base 1024), mais bits.
Hash de Arquivo (Checksum)
Calcule os checksums SHA-1, SHA-256 e SHA-512 de qualquer arquivo.
Divisor de Arquivos
Divida um arquivo grande em pedaços para driblar limites de anexo ou upload.