Examinar los bytes iniciales y el tipo probable

Elija un archivo y la página lee sus primeros 64 KB: los bytes iniciales se comparan con una tabla de firmas (PNG, JPEG, HEIC, PDF, ZIP, TAR, WOFF2, OTF, MP3, WAV, MP4, MOV, WASM y más) y, cuando nada coincide, el contenido se clasifica como texto (JSON, XML, CSV, YAML, Markdown) o como datos binarios. El informe coloca el tipo detectado y una extensión sugerida junto al tipo declarado por el navegador y la extensión del nombre, e indica la confianza: Alta con firma, Media por estructura del texto y Baja en archivos vacíos o binarios desconocidos. La detección es una pista, no una prueba de validez o seguridad.

Se ejecuta localmente en tu navegador
Procesamiento local ·
PNG · JPEG · HEIC · PDF · ZIP · TAR · WOFF2 · OTF · MP3 · WAV · MP4 · MOV · WASM · JSON · CSV · YAML

La detección por firma es una pista, no un veredicto antivirus.

Cómo identificar un archivo por su firma

Elija un archivo local y la página lee sus primeros 64 KB: los bytes iniciales se comparan con una tabla de firmas (PNG, JPEG, HEIC, PDF, ZIP, TAR, WOFF2, OTF, MP3, WAV, MP4, MOV, WASM y más) y, cuando ninguna firma coincide, el contenido se clasifica como texto (JSON, XML/HTML/SVG, CSV/TSV, YAML, Markdown o texto plano) o como datos binarios. No se sube nada: el informe, la vista hexadecimal de 24 bytes y la firma de 8 bytes se quedan en la página.

El informe coloca el tipo detectado y una extensión sugerida junto al tipo declarado por el navegador y la extensión del nombre, con un nivel de confianza: Alta cuando coincide una firma, Media cuando solo lo decide la estructura del texto y Baja en archivos vacíos y datos binarios no reconocidos.

  1. Arrastre un archivo a la zona o haga clic para elegirlo; no hay botón de ejecución.
  2. Lea el informe: tipo detectado, extensión sugerida, tipo declarado por el navegador y extensión del archivo.
  3. Revise Confianza, la métrica Firma (primeros 8 bytes) y la vista hexadecimal (primeros 24 bytes).
  4. Lea los hallazgos: coincidencia o discrepancia de extensión, ausencia de extensión, archivo vacío, corte en 64 KB, JSON parcial, datos binarios o marca de orden de bytes UTF-16/32.
  5. Pulse Limpiar para vaciar la entrada, la vista, las métricas y los hallazgos; después podrá elegir el mismo archivo otra vez.

Qué firmas se comprueban, cómo funciona la detección de texto y qué muestra el informe

Qué firmas se comprueban

Imágenes (PNG, JPEG, GIF, BMP, TIFF en ambos órdenes de bytes, ICO, WEBP y las marcas HEIC/HEIF/AVIF), documentos (PDF, PostScript, RTF, SQLite), comprimidos (ZIP, incluido el ZIP vacío PK 05 06, GZIP, RAR, 7z y TAR en el desplazamiento 257), ejecutables y objetos (ELF, MZ de Windows, clase Java, WASM), fuentes (WOFF, WOFF2, TTF, OTF, TTC), audio (MP3 por etiqueta ID3 o por sincronía de trama, WAV/AVI/WEBP mediante RIFF, OGG, FLAC, AIFF, MIDI) y vídeo (MP4, QuickTime «qt », M4V, 3GP, 3G2, WebM).

En los archivos ISO-BMFF la marca situada tras «ftyp» decide entre HEIC, HEIF, AVIF, QuickTime, M4A y 3GP; una marca desconocida se informa como video/mp4. Un MP3 sin etiqueta ID3 se reconoce por los bits de sincronía de trama, donde se rechazan el índice de bitrate 0/15 y el índice de frecuencia 3 para que los datos aleatorios no coincidan por casualidad.

De dónde sale el tipo cuando no hay firma

Detección de texto: si JSON.parse tiene éxito el tipo es application/json (un JSON cortado añade la nota de JSON parcial), la primera etiqueta decide XML, HTML o SVG, un escaneo de delimitadores que respeta las comillas decide CSV o TSV, YAML exige al menos dos líneas de mapeo con valores estructurales, se reconocen las marcas de Markdown y el resto es texto plano. Un byte NUL, una secuencia UTF-8 inválida con bytes de control o más de un 30 % de bytes de control dan application/octet-stream con confianza Baja.

Una marca de orden de bytes UTF-16LE/BE o UTF-32 se lee como texto: sin esa comprobación su prefijo FF FE parecería una sincronía de trama MP3. Solo se leen los primeros 64 KB, así que un archivo mayor recibe la nota de corte y, si empieza como JSON, la de JSON parcial en lugar de un tipo equivocado.

El informe, la extensión y la privacidad

La extensión se compara con el tipo detectado mediante equivalencias conocidas (jpg/jpeg, tif/tiff, htm/html, yml/yaml, md/markdown, csv/tsv, heic/heif, m4a/m4b, 3gp/3g2, aif/aiff, mov/qt); los archivos de texto (txt/text/log/md/markdown/rst/adoc) aceptan txt o md; los archivos sin extensión, incluidos los que empiezan por punto, informan «no hay extensión que comparar» en lugar de una discrepancia. El contenido manda sobre el nombre: un .png con bytes JPEG se informa como image/jpeg con aviso de discrepancia.

La confianza es Alta cuando coincide una firma, Media cuando solo decide la estructura del texto y Baja en archivos vacíos y datos binarios desconocidos. La detección es una pista, no un veredicto antivirus; todo se ejecuta en la página, no se sube nada y la herramienta sigue funcionando sin conexión.

Herramientas recientes: