Consulta de Tipos MIME
Consulta tipos MIME por extension de archivo
Text
text/plaintext/htmltext/csstext/javascripttext/csvtext/xmltext/markdowntext/calendarApplication
application/jsonapplication/xmlapplication/pdfapplication/zipapplication/gzipapplication/x-tarapplication/x-7z-compressedapplication/x-rar-compressedapplication/javascriptapplication/typescriptapplication/wasmapplication/octet-streamapplication/x-www-form-urlencodedapplication/ld+jsonOffice
application/mswordapplication/vnd.openxmlformats-officedocument.wordprocessingml.documentapplication/vnd.ms-excelapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheetapplication/vnd.ms-powerpointapplication/vnd.openxmlformats-officedocument.presentationml.presentationImage
image/jpegimage/pngimage/gifimage/webpimage/svg+xmlimage/bmpimage/tiffimage/x-iconimage/avifimage/heicAudio
audio/mpegaudio/wavaudio/oggaudio/webmaudio/aacaudio/flacaudio/midiVideo
video/mp4video/webmvideo/oggvideo/quicktimevideo/x-msvideovideo/x-matroskavideo/x-flvFont
font/wofffont/woff2font/ttffont/otfapplication/vnd.ms-fontobjectMultipart
multipart/form-datamultipart/byterangesAbout MIME Types
MIME (Multipurpose Internet Mail Extensions) types indicate the nature and format of a file. They're used in HTTP headers, email attachments, and more. The format is type/subtype.
La Búsqueda de MIME Type proporciona una búsqueda bidireccional entre extensiones de archivo y MIME types (también llamados media types o content types), ayudándote a encontrar el header Content-Type correcto para cualquier formato de archivo o identificar qué extensiones se mapean a un MIME type dado. Ingresa .woff2 para saber que el tipo correcto es font/woff2, o busca application/json para ver todas las extensiones asociadas como .json, .map y .geojson.
Entendiendo los MIME types
Los MIME types -- originalmente "Multipurpose Internet Mail Extensions" pero ahora usados mucho más allá del email -- son la forma estándar de identificar formatos de archivo en la web. Cuando un servidor web envía un archivo a tu navegador, incluye un header Content-Type que contiene el MIME type, y el navegador usa ese tipo para decidir cómo manejar la respuesta. Un archivo HTML se renderiza como página, un PNG se muestra como imagen, un PDF se abre en el visor y un ZIP se ofrece como descarga. Sin el MIME type correcto, el navegador tiene que adivinar, y adivinar frecuentemente sale mal.
La razón por la que los MIME types importan más que las extensiones de archivo es que las respuestas HTTP no llevan nombres de archivo. Cuando tu navegador solicita https://example.com/api/data, no hay extensión .json para dar pistas sobre el formato -- el navegador depende enteramente del header Content-Type: application/json para saber que está recibiendo JSON. Si el servidor envía text/plain en su lugar, el navegador mostrará el texto sin formato en vez de parsearlo como datos estructurados. Y con el header de seguridad X-Content-Type-Options: nosniff (que todas las aplicaciones modernas deberían configurar), el navegador aplica estrictamente el MIME type declarado y no intentará adivinar por el contenido.
Para los desarrolladores web, los problemas más comunes con MIME types surgen de la mala configuración del servidor. Un formato de fuente nuevo como .woff2 se sirve como application/octet-stream porque el servidor no tiene un mapeo para esa extensión, causando que el navegador lo descargue en vez de usarlo como fuente. Un archivo JavaScript se sirve como text/plain y es bloqueado por la verificación de MIME del navegador. Un archivo SVG se sirve sin el sufijo +xml y no se renderiza. Esta herramienta de búsqueda te ayuda a encontrar el tipo correcto rápidamente para que puedas actualizar la configuración de tu servidor con confianza.
Cómo buscar un MIME type
- Ingresa una extensión de archivo (por ejemplo,
.json,.webp,.woff2) o un MIME type (por ejemplo,application/pdf,image/svg+xml). - Visualiza el resultado coincidente con el MIME type primario, tipos alternativos y notas de soporte de navegadores.
- Copia el valor correcto de
Content-Typepara usar en la configuración del servidor o headers HTTP.
Ejemplos de búsqueda de MIME type
Búsqueda por extensión de archivo
| Extensión | MIME Type primario | Alternativas / Notas |
|---|---|---|
.html | text/html | -- |
.css | text/css | -- |
.js | application/javascript | Legacy: text/javascript (aún ampliamente usado) |
.json | application/json | -- |
.xml | application/xml | También: text/xml |
.svg | image/svg+xml | -- |
.png | image/png | -- |
.jpg / .jpeg | image/jpeg | -- |
.webp | image/webp | -- |
.avif | image/avif | Formato moderno, verifica soporte de navegador |
.gif | image/gif | -- |
.pdf | application/pdf | -- |
.woff2 | font/woff2 | -- |
.woff | font/woff | Legacy: application/font-woff |
.mp4 | video/mp4 | -- |
.webm | video/webm | -- |
.zip | application/zip | -- |
.gz | application/gzip | -- |
.csv | text/csv | -- |
.md | text/markdown | No reconocido universalmente por los servidores |
Búsqueda por MIME type
| MIME Type | Extensiones asociadas |
|---|---|
application/octet-stream | .bin, .exe, .dll, .iso y cualquier binario desconocido |
text/plain | .txt, .log, .ini, .cfg |
application/json | .json, .map, .topojson, .geojson |
image/jpeg | .jpg, .jpeg, .jfif |
application/xml | .xml, .xsl, .xsd, .rng |
Cuándo usar la búsqueda de MIME type
- Configurar content types del servidor web -- Configura el
Content-Typecorrecto para archivos estáticos servidos por nginx, Apache o IIS para prevenir problemas de descarga-en-vez-de-visualización. - Configurar headers de descarga -- Usa el MIME type correcto en los headers
Content-TypeyContent-Dispositionpara descargas de archivos. - Validar subidas de archivos -- Verifica archivos subidos contra los MIME types esperados para rechazar formatos no soportados.
- Depurar errores de "archivo no reconocido" -- Identifica cuando un servidor envía el MIME type incorrecto, causando que los navegadores manejen mal el archivo.
- Configurar caché de CDN -- Configura los MIME types correctos para que los CDNs apliquen reglas de caché y compresión apropiadas.
- Manejo de adjuntos de email -- Usa el tipo correcto al construir mensajes MIME multipart para adjuntos de email.
Cómo funcionan los MIME types
Estructura del MIME type
Un MIME type sigue el formato type/subtype, opcionalmente con parámetros:
type/subtype; parameter=value
El type es la categoría general (text, image, audio, video, application, font, multipart). El subtype es el formato específico. Por ejemplo, image/png es una imagen en formato PNG.
Parámetros comunes
charset-- Codificación de caracteres para tipos de texto:text/html; charset=utf-8boundary-- Separador para tipos multipart:multipart/form-data; boundary=----FormBoundaryname-- Sugerencia de nombre de archivo original en algunos contextos
Por qué los MIME types correctos importan
Los navegadores usan MIME types, no extensiones de archivo, para decidir cómo manejar una respuesta:
- MIME type incorrecto para CSS -- Si un servidor envía
text/plainpara un archivo.css, el navegador se rehusará a aplicar los estilos y registrará un error de discrepancia de MIME type. - MIME type incorrecto para JavaScript -- Servir archivos
.jscomotext/plaincausa que el navegador rechace el script en modo de verificación estricta de MIME. - Seguridad:
X-Content-Type-Options: nosniff-- Cuando este header está configurado, el navegador aplica estrictamente los MIME types y no "olfateará" el contenido para adivinar el tipo, haciendo esencial la configuración correcta.
application/octet-stream como valor por defecto
Cuando un servidor no conoce el tipo de archivo, usa application/octet-stream como tipo binario genérico. Esto le dice al navegador que descargue el archivo en lugar de intentar mostrarlo. Configurar MIME types específicos para extensiones conocidas evita este comportamiento de respaldo.
MIME types de proveedor y personales
Los MIME types usan convenciones de nomenclatura para indicar su estado de registro:
| Prefijo | Significado | Ejemplo |
|---|---|---|
| (ninguno) | Tipo registrado estándar | application/json |
vnd. | Tipo específico de proveedor | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet (.xlsx) |
x- | Experimental no registrado (obsoleto) | application/x-www-form-urlencoded |
prs. | Personal/experimental | text/prs.lines.tag |
Consejos prácticos para la configuración de MIME types
El error más común en la configuración de MIME types es no configurarlos en absoluto. La mayoría de los servidores web vienen con un conjunto predeterminado de mapeos, pero frecuentemente están desactualizados respecto a formatos de archivo modernos. Si estás sirviendo fuentes .woff2, imágenes .webp o .avif, o archivos de módulos ES .mjs, verifica que tu servidor tenga los mapeos correctos. En nginx, estos mapeos viven en el archivo mime.types. En Apache, están en mime.types o se configuran mediante directivas AddType. Un mapeo faltante significa que el servidor recurre a application/octet-stream, lo que dispara un prompt de descarga en lugar de renderizado en línea.
Al construir APIs, siempre configura el header Content-Type explícitamente en tu respuesta en lugar de depender de los valores predeterminados del framework. Si tu API devuelve JSON, configura Content-Type: application/json; charset=utf-8. Si devuelve XML, usa application/xml. Para APIs que pueden devolver múltiples formatos basados en el header Accept (negociación de contenido), asegúrate de que cada formato tenga el MIME type correcto. Una discrepancia entre el tipo declarado y el formato real del body es una causa común de errores de parseo en el lado del cliente.
Para la validación de subida de archivos, nunca dependas únicamente del MIME type enviado por el cliente. El Content-Type en una subida multipart es configurado por el navegador basándose en la extensión del archivo, y puede ser fácilmente falsificado. Un usuario malicioso puede subir un archivo ejecutable con extensión .jpg y el navegador enviará image/jpeg como el tipo. Siempre valida el contenido real del archivo (magic bytes) en el lado del servidor además de verificar el MIME type declarado.
Preguntas frecuentes
¿Cuál es el MIME type correcto para JavaScript: application/javascript o text/javascript?
application/javascript es el tipo registrado estándar (RFC 4329). Sin embargo, text/javascript está listado como el único MIME type de JavaScript en la especificación HTML, y todos los navegadores lo soportan. En la práctica, ambos funcionan. Si estás configurando un servidor nuevo, cualquiera de los dos es aceptable, aunque text/javascript tiene mayor compatibilidad legacy.
¿Debo usar image/svg+xml o image/svg para archivos SVG?
Siempre usa image/svg+xml. El sufijo +xml indica que SVG es un formato basado en XML. image/svg no es un MIME type registrado y puede no ser reconocido por navegadores o validadores.
¿Qué MIME type debo usar para respuestas de API JSON?
Usa application/json. Este es el MIME type estándar definido en RFC 8259. Algunas APIs también usan application/vnd.api+json para formato JSON:API o application/problem+json para respuestas de error RFC 7807.
¿Cuál es la diferencia entre text/xml y application/xml?
Ambos son válidos para contenido XML, pero application/xml es el recomendado para uso general. El tipo text/xml implica que el contenido es texto legible por humanos, y las especificaciones antiguas dicen que debería usar codificación US-ASCII por defecto si no se especifica charset. application/xml usa UTF-8 por defecto, que es casi siempre lo que quieres.
¿Cómo determino el MIME type de un archivo desconocido?
En Linux y macOS, el comando file puede detectar el tipo desde el contenido del archivo (magic bytes): file --mime-type unknown.bin. Esto es más confiable que depender de la extensión. En la web, el navegador envía el MIME type basándose en la extensión, que puede no coincidir con el contenido real.
¿Por qué mi archivo de fuente se descarga en lugar de cargarse en el navegador?
Tu servidor probablemente está enviando la fuente con application/octet-stream porque no tiene un mapeo para la extensión de fuente. Agrega el mapeo de MIME type correcto: font/woff2 para .woff2, font/woff para .woff, font/ttf para .ttf y font/otf para .otf. Después de agregar el mapeo, el navegador cargará la fuente en línea en lugar de solicitar una descarga.
Herramientas relacionadas
- Formateador de headers HTTP - Formatea Content-Type y otros headers HTTP
- Búsqueda de códigos de estado HTTP - Busca códigos de estado devueltos junto con headers de MIME type
- Explicador de headers CORS - Entiende las reglas CORS para diferentes content types
- Constructor de comandos curl - Construye comandos curl con headers Content-Type correctos
- Parser de User-Agent - Parsea cadenas User-Agent para verificar soporte de MIME type del navegador