What is MIME type "application/x-midi"?

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

application/x-midi is a MIME type used to identify files that hold musical performance instructions rather than recorded audio.
It represents data based on the Musical Instrument Digital Interface (MIDI) standard. MIDI files tell software and hardware what notes to play, when to play them, and which instruments to use.
Unlike digital recordings, these files are lightweight because they store instructions, not complete sounds.
For further insight on how MIDI works, visit this MIDI guide on Wikipedia.

Associated file extensions

Usage Examples

HTTP Header

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


    Content-Type: application/x-midi    
  

HTML

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


    <a href="file.dat" type="application/x-midi">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', 'application/x-midi');    
      res.end('Content here');    
    }).listen(3000);    
  

Associated file extensions

FAQs

Is application/x-midi the standard MIME type for MIDI files?

No, the official IANA-registered standard is audio/midi. The type application/x-midi is a non-standard or experimental variation often found in older server configurations or legacy software. For modern web development, using audio/midi is generally recommended for better compliance.

Why won't my browser play files served as application/x-midi?

Modern browsers (Chrome, Firefox, Edge) have removed native support for playing MIDI files directly via HTML5 audio tags. To play a .mid file on a website today, developers must typically use a JavaScript library (such as MIDI.js) that synthesizes the audio within the browser.

How do I configure my web server to serve MIDI files correctly?

You must map the file extensions to the MIME type in your server config. For Apache, add AddType audio/midi .mid .midi (or application/x-midi if required by legacy apps) to your .htaccess. For Nginx, add audio/midi mid midi; inside the types block of your mime.types file.

Why are application/x-midi files so much smaller than MP3s?

MIDI files store performance instructions (which notes to play, when, and how loud) rather than recorded sound waves. Because they act like digital sheet music rather than a recording, a .midi file is drastically smaller than audio/mpeg or audio/wav files.

What software opens files with the application/x-midi content type?

These files can be opened by most standard media players, including VLC Media Player, Windows Media Player, and Apple QuickTime. They are also used by music production software (DAWs) like GarageBand or FL Studio to edit the underlying musical notes.

Can application/x-midi contain viruses?

While MIDI files are generally safe data instructions, vulnerabilities in media players parsing these files have existed in the past. It is theoretically possible for a malformed file to exploit a player's security flaws, so you should always keep your media player software updated.

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.