What is MIME type "image/svg-xml"?

A MIME type is a string that tells browsers and other tools how to handle a particular kind of file.

The MIME type image/svg-xml describes files that contain Scalable Vector Graphics. It uses XML to define shapes, colors, and animations.

It is used for files like SVG and SVGZ to deliver scalable, interactive graphics.

For more in-depth details, see MDN Web Docs on SVG.

Associated file extensions

Usage Examples

HTTP Header

When serving content with this MIME type, set the Content-Type header:


    Content-Type: image/svg-xml    
  

HTML

In HTML, you can specify the MIME type in various elements:


    <a href="file.dat" type="image/svg-xml">Download file</a>    
  

Server-side (Node.js)

Setting the Content-Type header in Node.js:


    const http = require('http');    
    
    http.createServer((req, res) => {    
      res.setHeader('Content-Type', 'image/svg-xml');    
      res.end('Content here');    
    }).listen(3000);    
  

Associated file extensions

FAQs

What is the correct MIME type for SVG files: image/svg+xml or image/svg-xml?

The official IANA standard is image/svg+xml. While image/svg-xml appears in some older systems or misconfigurations, you should always use the version with the plus sign (+) to ensure maximum compatibility with modern browsers and tools.

Why is my SVG file downloading instead of displaying in the browser?

This usually occurs when the web server sends an incorrect Content-Type header, such as text/xml or application/octet-stream. To fix this, configure your server to serve .svg files with the image/svg+xml MIME type.

How do I configure Apache or Nginx to serve SVGs correctly?

For Apache, add AddType image/svg+xml .svg .svgz to your .htaccess or config file. For Nginx, ensure your mime.types file includes the line image/svg+xml svg svgz;. This ensures browsers interpret the file as a graphic.

Are there security risks associated with image/svg+xml?

Yes, because SVGs are XML documents that can contain JavaScript, they are potential vectors for Cross-Site Scripting (XSS) attacks. If you allow users to upload SVG files, you must sanitize them to strip out script tags and event handlers before displaying them.

What is the relationship between .svg and .svgz files?

The .svgz extension indicates a GZIP-compressed SVG file. It is generally served with the image/svg+xml MIME type accompanied by a Content-Encoding: gzip header. This significantly reduces file size for complex vectors without losing quality.

Can I embed image/svg+xml directly into HTML or CSS?

Yes, you can use Data URIs to embed SVGs. The format is typically data:image/svg+xml;base64,[string]. Because SVG is text-based, you can also often use URL-encoded XML directly, such as data:image/svg+xml;utf8,<svg....

When should I use image/svg+xml instead of image/png or image/jpeg?

Use SVG for logos, icons, and simple illustrations that need to remain sharp at any size or resolution. Unlike raster formats like png or jpeg, SVGs are vector-based and do not pixelate when zoomed in.

General FAQ

What is a MIME type?

A MIME (Multipurpose Internet Mail Extensions) type is a standard that indicates the nature and format of a document, file, or assortment of bytes. MIME types are defined and standardized in IETF's RFC 6838.

MIME types are important because they help browsers and servers understand how to process a file. When a browser receives a file from a server, it uses the MIME type to determine how to display or handle the content, whether it's an image to display, a PDF to open in a viewer, or a video to play.

MIME types consist of a type and a subtype, separated by a slash (e.g., text/html, image/jpeg, application/pdf). Some MIME types also include optional parameters.

How do I find the MIME type for a file?

You can check the file extension or use a file identification tool such as file --mime-type on the command line. Many programming languages also provide libraries to detect MIME types.

Why are multiple MIME types listed for one extension?

Different applications and historical conventions may use alternative MIME identifiers for the same kind of file. Showing them all helps ensure compatibility across systems.