Para saber el tipo de un archivo no basta con mirar la extensión. La extensión es solo una parte del nombre. El tipo MIME es la etiqueta que le asignan el navegador o el servidor. Y la mejor pista sobre el formato real está en el propio contenido, porque muchos formatos empiezan con una firma reconocible en sus primeros bytes.
Cuando las tres cosas coinciden, nadie nota nada. Cuando no coinciden, aparecen mensajes como «tipo de archivo no permitido». Ten en cuenta, además, que las herramientas que funcionan dentro del navegador suelen mostrar la etiqueta que este deduce de la extensión. Te dicen qué tipo atribuye el navegador al archivo, lo que sirve de referencia al subirlo, pero no qué hay dentro ni si el formulario lo aceptará.
Qué es un tipo MIME y cómo se escribe
Un tipo MIME es una cadena de texto que indica qué clase de contenido tiene un archivo, por ejemplo image/png para una imagen PNG o application/pdf para un documento PDF. Según la guía de tipos MIME de MDN, su formato está definido en el RFC 6838. Consiste en un tipo y un subtipo, dos cadenas separadas por una barra «/», y no admite espacios.
El tipo es la categoría general y el subtipo concreta el formato. En la tabla de más abajo verás categorías como text, image, audio, video o application. El organismo oficial que mantiene el registro de tipos MIME es la IANA.
¿Por qué importa todo esto? MDN explica que los navegadores a menudo usan el tipo MIME, y no la extensión, para decidir cómo procesan un documento. Por eso una etiqueta equivocada puede hacer que un archivo se rechace, se descargue cuando esperabas verlo o se muestre de forma extraña.
Hay dos valores por defecto que verás con frecuencia. El primero, application/octet-stream, es el valor predeterminado para un archivo binario, es decir, la etiqueta genérica cuando no se sabe qué clase de binario es. El segundo, text/plain, es el valor predeterminado para los archivos de texto.
Cómo ver el tipo MIME de un archivo con el Verificador de tipo MIME
La forma más rápida de saber qué etiqueta recibirá un archivo es elegirlo en el Verificador de tipo MIME de Digily Link. Digily Link es nuestro producto, y esta herramienta está abierta a cualquier persona.
- Abre la herramienta y pulsa en el campo Archivo.
- Elige el archivo que quieres comprobar.
- Los resultados aparecen en cuanto lo seleccionas.
Verás cuatro datos.
- Tipo es el tipo MIME que tu navegador asigna al archivo.
- Tamaño es lo que ocupa, con un decimal.
- Nombre es el nombre completo, con su extensión.
- Fecha de última modificación es la fecha que el navegador comunica para ese archivo, cuando la tiene.
El archivo no se sube a ningún servidor. La página consulta los datos del archivo en tu propio navegador, sin analizar su contenido, y el formulario no llega a enviarse.
En cuanto al tamaño, el campo Tamaño cuenta en múltiplos de 1000 bytes, mientras que nuestra Calculadora de tamaño de texto usa 1024. Por eso la misma cantidad de bytes puede aparecer con cifras ligeramente distintas en cada herramienta.
Lo que el verificador no te dice
Como el navegador deduce el tipo a partir de la extensión, la herramienta sirve para ver qué etiqueta recibirá el archivo al subirlo, no para demostrar qué hay dentro. Si sospechas que el archivo está mal nombrado, comprueba su firma con el comando file o ábrelo con el programa adecuado.
Si el campo Tipo aparece vacío, el navegador no ha podido determinar el tipo, algo habitual con extensiones poco comunes o archivos sin extensión. La documentación de MDN sobre la propiedad type de File y Blob (en inglés) indica que este valor solo es fiable en tipos de archivo comunes y que las extensiones poco habituales devuelven una cadena vacía. También advierte de que la configuración del equipo, por ejemplo el Registro de Windows, puede dar valores inesperados incluso en tipos comunes.
Qué pasa con el tipo MIME si cambias la extensión de un archivo
Si cambias la extensión, el navegador puede asignarle otra etiqueta, o ninguna, pero el contenido sigue siendo el mismo. MDN lo ilustra con un ejemplo claro. Si cambias el nombre de una imagen PNG a .txt, el navegador dirá text/plain y no image/png, porque no lee el contenido del archivo para saber su tipo.
Puedes comprobarlo con cualquier imagen tuya. Los nombres de este ejemplo son inventados.
- Haz una copia de una imagen, por ejemplo imagen.png.
- Cambia el nombre de la copia a imagen.txt.
- Elígela en el verificador. Según el comportamiento que describe MDN, el Tipo pasará a text/plain aunque el contenido siga siendo una imagen PNG.
Lo mismo ocurre al revés. Ponerle .pdf a una foto no la convierte en PDF. Solo hace que el navegador probablemente la presente como tal, y el programa o el servidor que la reciba se encontrará con algo que no es lo que dice ser. Para cambiar de formato de verdad, abre el archivo en el programa que lo creó y usa la opción «Guardar como» o «Exportar» con el formato que te piden.
Cómo descubrir el formato real de un archivo
Para conocer el formato real tienes que mirar el contenido, no el nombre. Antes de nada, asegúrate de ver el nombre completo con su extensión, porque sin ella es fácil equivocarse.
Mostrar las extensiones de archivo en Windows 11 y Windows 10
A 29 de octubre de 2026, la página de ayuda de Microsoft sobre extensiones de nombre de archivo comunes en Windows indica estos pasos.
- Windows 11. En el Explorador de archivos, selecciona Ver > Mostrar > Extensiones de nombre de archivo.
- Windows 10. En el Explorador de archivos, en Vista, en el grupo Mostrar/ocultar, marca la casilla Extensiones de nombre de archivo.
Con las extensiones visibles detectarás nombres como «documento.pdf.exe» (un ejemplo inventado), que con las extensiones ocultas podría verse simplemente como «documento.pdf».
Usar el comando file en Linux
En Linux (y en otros sistemas que incluyan el comando file), «file --mime-type archivo.pdf» examina el contenido, es decir, las llamadas firmas o bytes mágicos, y no solo el nombre. Según el manual de file en man7 (en inglés), la opción -i o --mime devuelve la cadena MIME en lugar de la descripción habitual, y --mime-type devuelve solo el tipo. El comando aplica primero las pruebas del sistema de archivos, después las de bytes mágicos y por último las de lenguaje.
- Abre una terminal en la carpeta donde está el archivo.
- Escribe «file --mime-type» seguido del nombre del archivo, por ejemplo «file --mime-type foto.png».
- Compara el tipo que devuelve con la extensión. Si el nombre dice .png y el resultado no es image/png, probablemente el nombre no corresponde al contenido. Ábrelo con un programa que conozca el formato esperado para confirmarlo.
Leer la firma en los primeros bytes
Muchos formatos empiezan siempre por la misma secuencia de bytes, que funciona como una firma. La especificación de PNG del W3C establece en su apartado 5.2 que los ocho primeros bytes de un PNG son siempre 89 50 4E 47 0D 0A 1A 0A. Si abres el archivo con un editor hexadecimal y no empieza así, no es un PNG, se llame como se llame.
No todos los formatos tienen una firma tan clara al principio, y una firma correcta tampoco garantiza que el archivo esté completo ni que sea seguro. Es una pista sólida, no una prueba definitiva. Si no quieres mirar bytes, lo más sencillo es abrir el archivo con el programa correspondiente y ver si lo reconoce.
Esta tabla resume qué te dice cada pista.
| Qué miras | Dónde está | Qué te dice | ¿Cambia si renombras el archivo? |
|---|---|---|---|
| Extensión | En el nombre del archivo | El formato que alguien le atribuyó | Sí |
| Tipo MIME del navegador | Lo calcula el navegador a partir de la extensión | La etiqueta con la que se enviará el archivo | Sí |
| Firma o bytes mágicos | Al principio del contenido | La mejor pista sobre el formato real | No |
Tipos MIME de los archivos más comunes
Estos son los tipos MIME de formatos habituales en formularios y gestores de contenido, según la lista de tipos comunes de MDN (en inglés). Te servirá para comparar lo que muestra el verificador con lo que acepta un formulario.
| Extensión | Tipo MIME |
|---|---|
| application/pdf | |
| .doc | application/msword |
| .docx | application/vnd.openxmlformats-officedocument.wordprocessingml.document |
| .xls | application/vnd.ms-excel |
| .xlsx | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
| .pptx | application/vnd.openxmlformats-officedocument.presentationml.presentation |
| .odt | application/vnd.oasis.opendocument.text |
| .csv | text/csv |
| .txt | text/plain |
| .jpg y .jpeg | image/jpeg |
| .png | image/png |
| .webp | image/webp |
| .gif | image/gif |
| .svg | image/svg+xml |
| .mp4 | video/mp4 |
| .mp3 | audio/mpeg |
| .zip | application/zip (Windows puede enviar application/x-zip-compressed) |
| .rar | application/vnd.rar |
| .json | application/json |
| .html y .htm | text/html |
| .ics | text/calendar |
Fíjate en la diferencia entre .doc y .docx, o entre .xls y .xlsx. Son formatos distintos con tipos distintos, así que un formulario que solo acepte uno de ellos puede rechazar el otro aunque ambos se abran en el mismo programa.
Con los ZIP hay que tener cuidado. MDN señala que Windows sube los archivos .zip con el tipo no estándar application/x-zip-compressed. Si el formulario solo admite application/zip, es posible que rechace un ZIP perfectamente válido enviado desde un equipo con Windows.
Por qué un formulario rechaza tu archivo y cómo solucionarlo
Un formulario puede rechazar un archivo por su tipo MIME, su extensión, su contenido, su tamaño o las reglas propias del sitio. Si el tipo coincide con el que piden, revisa también el tamaño máximo y los formatos admitidos. La tabla reúne algunos síntomas y sus causas probables. Los nombres de archivo son ejemplos inventados.
| Síntoma | Causa probable | Qué hacer |
|---|---|---|
| El campo Tipo sale vacío | Extensión poco común o ausente | Muestra las extensiones en el Explorador y renombra solo si sabes el formato real |
| Una «foto.png» se rechaza o no se abre | Puede ser otro formato con el nombre cambiado | Comprueba la firma con file --mime-type o mira si los primeros bytes son 89 50 4E 47… |
| El sistema dice application/octet-stream | Tipo binario desconocido | Exporta de nuevo desde el programa original en el formato pedido |
| Un .zip subido desde Windows falla | Windows puede enviar application/x-zip-compressed | Avisa al administrador del formulario, porque ese tipo no es el estándar |
| Aparece «documento.pdf.exe» | Doble extensión que quedaba oculta | Activa las extensiones y no abras el archivo |
| Un formato común da un tipo extraño en un equipo concreto | Configuración del equipo, por ejemplo el Registro de Windows | Prueba desde otro equipo o navegador y compara el Tipo en el verificador |
| El archivo se sube, pero al abrir su enlace se descarga o se ve mal | El servidor lo envía como descarga o con un Content-Type incorrecto | Quien administra el sitio debe revisar las cabeceras en la configuración del servidor |
La última fila requiere una explicación. Cuando un servidor entrega un archivo, indica su tipo en la cabecera Content-Type. MDN explica que, si el tipo falta o parece incorrecto, el navegador puede examinar el contenido e intentar adivinarlo, lo que se conoce como MIME sniffing. El servidor puede impedir esa adivinación con la cabecera X-Content-Type-Options (en la práctica, X-Content-Type-Options: nosniff). En ese caso el navegador se atiene al tipo declarado y, si está mal, puede tratar mal el archivo. Si el archivo se descarga en lugar de mostrarse, puede que el servidor envíe la cabecera Content-Disposition con el valor attachment, que según la página de MDN sobre Content-Disposition, consultada el 29 de octubre de 2026, indica que el contenido debe descargarse.
Si el problema está en las cabeceras, la solución está en el servidor, no en tu archivo. El administrador tiene que añadir o corregir el tipo MIME de esa extensión en la configuración del servidor o del gestor de contenido.
Por qué el tipo MIME del navegador no basta para validar una subida
Si desarrollas un formulario o una API de subida, el tipo que declara el navegador no debería ser tu única comprobación. MDN lo recomienda expresamente en la página de File.type, y el motivo se ve en el experimento anterior. Cualquiera puede cambiar ese tipo con solo renombrar el archivo.
Comprobar el tipo en el navegador sigue siendo útil para avisar enseguida a quien se equivoca de archivo. Pero el servidor debería combinar varias comprobaciones, como la extensión, el tipo declarado, el tamaño y el contenido que recibe, por ejemplo la firma de los primeros bytes. Ninguna de ellas basta por sí sola para dar un archivo por válido o seguro. Así, una «foto.png» que en realidad es otra cosa se detecta aunque su nombre y su etiqueta parezcan correctos.
Si un formulario te rechaza un archivo, comprueba el tipo MIME de un archivo sin subirlo y compara la etiqueta con lo que pide el formulario. Si el resultado no es el que esperabas, revisa la firma.
Preguntas frecuentes
¿Cómo saber si un archivo es realmente un PDF?
Ni la extensión ni el tipo del navegador lo demuestran, porque los dos dependen del nombre. En Linux, «file --mime-type» seguido del nombre del archivo debería devolver application/pdf si el contenido es un PDF. Si el archivo viene de una fuente de confianza, también puedes abrirlo con un lector de PDF. Que se abra sin errores indica que el lector reconoce el formato, pero no garantiza que el archivo sea seguro.
¿Por qué mi archivo aparece como application/octet-stream?
Porque es el valor predeterminado para un archivo binario cuando no se reconoce su tipo concreto. Ojo, el navegador no siempre usa ese valor. Cuando no reconoce un archivo, puede dejar el tipo vacío, que es lo que verás en el verificador. Puede pasar con extensiones raras, con archivos sin extensión o con formatos que el sistema no conoce. Una solución es exportarlo de nuevo desde el programa original en el formato que te piden.
¿Cambiar la extensión cambia el formato?
No. Cambia el nombre y, con él, la etiqueta que le pone el navegador, pero el contenido sigue igual. Para obtener otro formato hay que guardar o exportar el archivo en ese formato desde un programa que lo admita.
¿MIME y Content-Type son lo mismo?
Están relacionados, pero no son lo mismo. El tipo MIME es el valor, por ejemplo image/png. Content-Type es la cabecera HTTP en la que el servidor o el navegador declaran ese valor al enviar un archivo.