¿Qué archivo es este?

El documento sin extensión de WhatsApp, el adjunto que se llama ATT00001, la foto que «no se abre»: aquí se lee el contenido y no el nombre, y se descubre qué es de verdad, la extensión correcta y con qué se abre. Y si es un programa disfrazado de PDF, lo dice en rojo.

Toca aquí o arrastra uno o varios archivos
Los archivos no salen de tu dispositivo: la página lee solo los trozos que necesita para reconocerlos (un archivo pequeño entero, de uno grande normalmente menos de doscientos kilobytes), aquí en el navegador, y no los envía a ningún sitio.

El nombre de un archivo es una etiqueta, no una prueba

La extensión, ese .jpg o .pdf al final del nombre, es solo un trozo del nombre: cualquiera puede cambiarla, y muchos programas la pierden por el camino. WhatsApp guarda algunos documentos sin extensión, Outlook manda adjuntos que se llaman ATT00001, una app de transferencia renombra a .jpg las fotos del iPhone dejándolas en HEIC, un programa de gestión exporta un CSV y lo llama .xls. El sistema entonces elige el programa equivocado, o ninguno, y el archivo «no se abre».

El contenido en cambio no miente, porque casi todos los formatos empiezan con una firma: unos pocos bytes siempre iguales, puestos ahí a propósito por quien lo inventó. Un PDF empieza con las letras %PDF, una imagen PNG con ocho bytes fijos, un archivo ZIP con las letras PK, las iniciales de Phil Katz, que lo inventó en 1989. Esta página lee esos bytes y te dice qué es el archivo, cuál es la extensión correcta y, si la hay, qué herramienta del sitio lo abre.

Renombrar no convierte. Si la foto es un HEIC, llamarla .jpg no la convierte en un JPEG: solo cambia la etiqueta, y es justo así como nacen tantos archivos que no se abren. Cuando la extensión es incorrecta la página te ofrece una copia con el nombre correcto, con los mismos bytes exactos; cuando en cambio necesitas otro formato, necesitas un conversor, como Convertir HEIC a JPG.

Cómo lee un archivo de cuatro gigas sin subirlo

No lo sube a ningún sitio, y ni siquiera lo lee entero. Mira las primeras y las últimas decenas de kilobytes, que bastan para casi todos los formatos, y luego va a buscar solo los trozos que necesita: de un archivo de cuatro gigabytes lee normalmente menos de doscientos kilobytes, y cada ficha dice cuántos bytes ha leído de verdad. Por eso la respuesta llega enseguida incluso para una película entera, y también en el móvil.

Muchos formatos son cajas dentro de otras cajas, y ahí la firma del principio no basta. Un documento de Word, una hoja de Excel, una presentación, un libro electrónico, una app de Android y un programa Java son todos archivos ZIP: se distinguen por los nombres de las partes que contienen, y el OpenDocument y el EPUB por un pequeño archivo llamado mimetype que tiene que ir el primero. Los antiguos .doc, .xls y .ppt, los correos .msg de Outlook, los instaladores .msi y los archivos de Office protegidos con contraseña son en cambio contenedores OLE, el mismo contenedor para todos, y los distingue el nombre de los flujos internos.

Los vídeos y las fotos modernos siguen otra regla. MP4, MOV, HEIC, AVIF y M4A tienen la misma estructura de cajas, y el tipo real lo dice la marca escrita en la primera: por eso un vídeo del iPhone llamado .mp4 se reconoce como MOV. De un archivo firmado, un p7m, la página te dice también qué hay dentro del sobre, por ejemplo una factura electrónica o un PDF.

El programa disfrazado

Es el motivo más serio para usar esta página. Un programa de Windows empieza con las letras MZ, se llame como se llame: si un adjunto se llama factura.pdf pero dentro hay un programa, aquí lo ves en rojo. El icono del escritorio no ayuda, porque un programa puede mostrar el icono que quiera, también el de un PDF.

Tres trucos del nombre se señalan solos. La doble extensión, como documento.pdf.exe: Windows de serie oculta las extensiones que conoce, y en la pantalla queda documento.pdf. El nombre de programa dado a un texto: un factura.pdf.js o un factura.pdf.vbs solo tienen letras dentro, pero con doble clic Windows los ejecuta, y es la forma más común de los adjuntos fraudulentos. Y el carácter invisible que da la vuelta al sentido del texto, el código U+202E: un archivo que se llama factura, U+202E, fdp.exe en la pantalla se lee facturaexe.pdf. En la ficha ese carácter se muestra por lo que es, en vez de dejarlo trabajar.

Si te pasa: no lo abras, bórralo, y si parece venir de alguien que conoces pregúntale por teléfono, no respondiendo al mismo mensaje. La página señala también los documentos con macros y los archivos que contienen una clave privada: no son programas disfrazados, pero merecen la misma prudencia.

El texto no tiene firma, y la página lo dice

Un archivo de texto está hecho solo de letras, y las letras no tienen firma. CSV, JSON, XML, subtítulos y páginas web son todos texto, y solo se reconocen por la forma del contenido. Junto a cada resultado encuentras de dónde viene: la firma del principio, la estructura interna o solo unos indicios, y en el tercer caso el resultado es muy probable, pero no seguro.

Del texto la página te dice sin embargo lo que más a menudo hace falta: la codificación. UTF-8, UTF-8 con BOM, UTF-16, o una antigua codificación de Windows de 8 bits, que es el motivo por el que las letras con tilde se convierten en símbolos raros cuando un archivo pasa de un programa a otro. Si el texto ya está estropeado, con la clásica «Ã¨» en lugar de la «è», se arregla con Reparar caracteres raros (mojibake).

Están también los saltos de línea, que Windows escribe de una manera y Linux y Mac de otra, y en un CSV el separador: el punto y coma del Excel español o la coma del inglés. Un CSV exportado por un programa de gestión con el nombre .xls se reconoce por lo que es, y con el nombre correcto desaparece el aviso de Excel que dice que el formato y la extensión no coinciden.

Cuántos formatos reconoce, y cómo se prueba

Reconoce 131 formatos entre imágenes, documentos, archivos comprimidos, audio, vídeo, programas, bases de datos, certificados, calendarios y fuentes. De estos, 117 están probados con archivos reales, escritos por programas de otros y no por esta página: las imágenes por Pillow, el audio y el vídeo por ffmpeg, los documentos por las bibliotecas que los escriben, los antiguos archivos de Office directamente por Word, Excel, PowerPoint y Outlook (la colección de pruebas de Apache POI), los programas por los compiladores. Solo cuatro cabeceras están escritas a mano, porque ningún programa libre las escribe: el PSD, el winmail.dat, el acceso directo .lnk y el .torrent.

Cada respuesta se compara luego con la del comando file, el reconocedor que Linux y macOS usan desde hace décadas, y donde ese no sabe responder con openssl, olefile y ffmpeg. Los demás se reconocen por su firma documentada, y la ficha lo escribe en vez de presentarlos como seguros. Si un archivo no se parece a nada, la página no se inventa nada: dice que no lo reconoce y te muestra los primeros bytes.

Lo que no hace

No abre ni convierte el archivo. Te dice qué es y con qué abrirlo: para un archivo comprimido está Abrir un archivo ZIP, para una foto Convertir imagen, para un vídeo Qué vídeo es de verdad.

No es un antivirus. Una firma correcta dice de qué tipo es un archivo, no si es inofensivo: un PDF o un documento de Word pueden contener código malicioso aun con el nombre correcto. El control del programa disfrazado detecta el truco más común, no todos.

No verifica las firmas digitales y no adivina contraseñas: de un archivo firmado dice que está firmado y qué contiene, pero que la firma sea válida solo lo puede decir quien comprueba el certificado. Y para saber si un archivo descargado es idéntico al original, compara su huella con Checksum de un archivo (MD5, SHA-256).