Tipo MIME .svg: image/svg+xml

Los archivos con extensión .svg (imagen SVG) usan el tipo MIME image/svg+xml.

Actualizado el

image/svg+xml
Tipo MIME para .svg
Imágenes
Categoría
Sí
Comprimir con gzip/Brotli

¿Cuál es el tipo MIME de los archivos .svg?

El tipo MIME (tipo de medio) de los archivos de imagen SVG con extensión .svg es image/svg+xml. SVG es texto, así que gzip/Brotli lo reducen muy bien. Servir archivos SVG subidos por usuarios desde tu dominio principal es arriesgado, porque SVG puede contener scripts: usa un dominio separado o sanea los archivos subidos.

Cabecera Content-Type

Content-Type: image/svg+xml; charset=utf-8

Los tipos basados en texto deben incluir un charset para que el navegador decodifique los caracteres correctamente.

Configuración del servidor

ServidorConfiguración
Nginx (mime.types o types {})image/svg+xml svg;
Apache (.htaccess)AddType image/svg+xml .svg
IIS (web.config)<mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
Node.js / Expressres.type('svg') o res.setHeader('Content-Type', 'image/svg+xml; charset=utf-8')
Amazon S3Establece Content-Type: image/svg+xml en el objeto (metadatos), o pasa --content-type image/svg+xml a aws s3 cp

¿Deberían comprimirse los archivos .svg?

Sí. La imagen SVG es texto, así que activar gzip o Brotli para image/svg+xml normalmente reduce el tamaño de transferencia entre un 50 y un 80 %. Asegúrate de que la lista de compresión de tu servidor incluya este tipo; compruébalo con la prueba de compresión de sitios web.

Por qué importa el tipo MIME

Los navegadores deciden qué hacer con una respuesta (mostrarla, ejecutarla, reproducirla o descargarla) según la cabecera Content-Type, no según la extensión del archivo. Con X-Content-Type-Options: nosniff, un tipo incorrecto hace que las hojas de estilo y los scripts se bloqueen directamente. En las subidas de archivos, nunca confíes en el tipo que envía el cliente; comprueba el contenido del archivo (sus bytes mágicos) en el servidor.

Preguntas frecuentes

¿Cuál es el tipo MIME de .svg?
image/svg+xml.
¿Cómo establezco el Content-Type de .svg en Nginx?
Asegúrate de que image/svg+xml svg; aparezca en el bloque types (normalmente en /etc/nginx/mime.types) y recarga Nginx.
¿Debo comprimir los archivos .svg con gzip?
Sí: el formato se comprime muy bien, así que añade el tipo a tu configuración de gzip/Brotli.