MIME Type
MIME stands for "Multipurpose Internet Mail Extensions."
A MIME type or "media type" is a text string that identifies a specific file format. It consists of two parts — a type and a subtype — separated by a forward slash. For example, the MIME type of a plain text file is:
text/plain
History
SMTP, the standard protocol used to send email messages, was not originally designed to support file transfers. Email attachments had to be encoded as part of the message, limiting their size. MIME, which was introduced the 1990s, made it easier to send files via email using a custom Content-Type: header. Decades later, SMTP uses the same method. Email messages that contain attachments include a header that looks something like this:
Content-Type: multipart/mixed; boundary ="[identifier]"
Other Internet protocols soon adopted MIME types as a way to identify files transferred over the Internet. HTTP, for example, uses MIME types to identify the type of data accessible from a URL.
A standard webpage has the following MIME type:
Content-Type: text/html
MIME Type Examples
MIME types, are used to identify thousands different file formats. The official list is maintained by the IANA (Internet Assigned Numbers Authority). Some examples include:
- text/html - HTML document (webpage)
- text/css - CSS file
- text/javascript - JavaScript file
- image/jpeg - JPEG image file
- image/png - PNG image file
- audio/wav - WAVE audio file
- video/mp4 - MPEG video file
- application/zip - ZIP compressed archive
MIME Types vs File Extensions
MIME types and file extensions are similar in that they both identify file formats. However, MIME types provide two advantages:
- They contain a type and subtype. The type (preceding the forward slash) helps categorize file types, making it easy for applications to filter files. For example, an Internet program may allow the transfer of text and image files, but not audio or video files.
- They have a one-to-one relationship with file formats. Some file formats have multiple file extensions. For example, a JPEG image may have a .JPG or .JPEG extension. A webpage may have an .HTM or .HTML extension. MIME types provide standard identifiers for file formats that are recognized across applications and different protocols.