knowledge/technology/files/MIME.md
2024-03-06 13:18:37 +01:00

169 lines
18 KiB
Markdown

---
obj: concept
---
# MIME Type
A media type (also known as a MIME type) is a two-part identifier for file formats and format contents transmitted on the Internet. The Internet Assigned Numbers Authority (IANA) is the official authority for the standardization and publication of these classifications. Media types were originally defined in Request for Comments RFC 2045 (MIME) Part One: Format of Internet Message Bodies (Nov 1996) in November 1996 as a part of MIME (Multipurpose Internet Mail Extensions) specification, for denoting type of [email](../internet/eMail.md) message content and attachments; hence the original name, MIME type. Media types are also used by other internet protocols such as [HTTP](../internet/HTTP.md) and document file formats such as [HTML](../internet/HTML.md), for similar purposes.
A list of supported MIME Types can be found at `/etc/mime.types`
## Naming
A media type consists of a _type_ and a _subtype_, which is further structured into a _tree_. A media type can optionally define a _suffix_ and _parameters_:
`type "/" [tree "."] subtype ["+" suffix]* [";" parameter]`
As of November 1996, the registered types were: `application`, `audio`, `image`, `message`, `multipart`, `text` and `video`. By December 2020, the registered types included the foregoing, plus `font`, `example`, and `model`.
An unofficial top-level name in common use is `chemical`.
As an example, an [HTML](../internet/HTML.md) file might be designated `text/html; charset=UTF-8`. In this example, `text` is the type, `html` is the subtype, and `charset=UTF-8` is an optional parameter indicating the character encoding.
A subtype typically consists of a media format, but it may or must also contain other content, such as a tree prefix, producer, product or suffix, according to the different rules in registration trees.
Types, subtypes, and parameter names are case-insensitive. Parameter values are usually case-sensitive, but may be interpreted in a case-insensitive fashion depending on the intended use.
## Common MIME Types Files
### Application
| MIME Type | Extensions | Description |
| ------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------------- |
| `application/epub+zip` | `.epub` | Electronic Publication (eBook) |
| `application/keepass` | `.kdbx` | [KeePassXC](../applications/utilities/KeePassXC.md) File |
| `application/desktop` | `.desktop` | Linux [Desktop Entry](Desktop%20Entry.md) |
| `application/vnd.rar` | `.rar` | RAR Archive |
| `application/blender` | `.blend` | [Blender](../applications/3d/Blender.md) File |
| `application/x-7z-compressed` | `.7z` | [7z](../applications/cli/compression/p7zip.md) Archive |
| `application/x-x509-ca-cert` | `.crt`, `.der` | Certificate |
| `application/octet-stream` | `.a`, `.bin`, `.dump`, `.o`, `.obj`, `.pkg`, `.so` | Binary Data |
| `application/octet-stream` | `.qcow2` | [QEMU](../linux/qemu.md) Image |
| `application/xspf+xml` | `.xspf` | XML Shareable Playlist Format |
| `application/vnd.comicbook+zip` | `.cbz` | [Comic Book Archive](Comic%20Book%20Archive.md) |
| `application/vnd.android.package-archive` | `.apk` | [Android](../systems/Android.md) Package |
| `application/msword` | `.doc` | Word Document |
| `application/pgp-signature` | `.asc`, `.sig` | [PGP](../cryptography/GPG.md) Signature |
| `application/rss+xml` | `.rss`, `.xml` | [RSS Feed](../tools/RSS.md) |
| `application/vnd.ms-excel` | `.xls` | Excel Document |
| `application/vnd.ms-powerpoint` | `.ppt` | PowerPoint Document |
| `application/vnd.oasis.opendocument.presentation` | `.odp` | Presentation |
| `application/vnd.oasis.opendocument.spreadsheet` | `.ods` | Spreadsheet |
| `application/vnd.oasis.opendocument.text` | `.odt` | Text Document |
| `application/vnd.microsoft.portable-executable` | `.exe` | [Windows](../windows/Windows.md) Executable |
| `application/vnd.sqlite3` | `.db`,`.sqlite`, `.sqlite3` | [SQLite](../dev/programming/SQLite.md) Database |
| `application/x-iso9660-image` | `.iso`, `.isoimg`, `.cdr` | ISO Images |
| `application/http` | - | [HTTP](../internet/HTTP.md) |
| `application/javascript` | `.js` | Javascript |
| `application/json` | `.json` | [JSON](JSON.md) Data |
| `application/pdf` | `.pdf` | [PDF](PDF.md) Document |
| `application/pem-certificate-chain` | `.pem` | Certificates |
| `application/pgp-encrypted` | `.pgp` | [PGP](../cryptography/GPG.md) Data |
| `application/pgp-keys` | `.asc`, `.pub` | [PGP](../cryptography/GPG.md) Keys |
| `application/pgp-signature` | `.sig` | [PGP](../cryptography/GPG.md) Signatures |
| `application/sql` | `.sql` | [SQL](../dev/programming/languages/SQL.md) Databases |
| `application/wasm` | `.wasm` | [WebAssembly](../dev/WebAssembly.md) |
| `application/xml` | `.xml` | [XML](XML.md) |
| `application/zip` | `.zip` | [ZIP](ZIP.md) Files |
| `application/zstd` | `.zst` | [Zstd Compression](Zstd%20Compression.md) |
| `application/bittorrent` | `.torrent` | [Torrent](../internet/BitTorrent.md) |
| `application/java-archive` | `.jar` | Java |
| `application/latex` | `.latex` | LATeX |
| `application/rpm` | `.rpm` | Fedora Package |
| `application/sh` | `.sh` | [Shell](../applications/cli/Shell.md) |
| `application/tar` | `.tar` | [TAR](../applications/cli/compression/tar.md) |
| `application/xz` | `.xz` | [XZ Compression](XZ%20Compression.md) |
| `application/msgpack` | `.mpk`, `.msgpack` | [MessagePack](MessagePack.md) |
| `application/toml` | `.toml` | [TOML](TOML.md) |
| `application/yaml` | `.yaml`, `.yml` | [YAML](YAML.md) |
### Audio
| MIME Type | Extensions | Description |
| ----------------- | --------------- | ----------------------------------- |
| `audio/aac` | `.adts`, `.aac` | AAC Audio |
| `audio/mp4` | `.m4a` | AAC MP4 |
| `audio/mpeg` | `.mp3` | - |
| `audio/ogg` | `.oga`, `.ogg` | Ogg |
| `audio/opus` | `.opus` | [Opus](media/audio/Opus.md) |
| `audio/vorbis` | `.ogg` | Vorbis |
| `audio/midi` | `.mid`, `.midi` | MIDI |
| `audio/aiff` | `.aif`, `.aiff` | AIFF |
| `audio/flac` | `.flac` | [FLAC](media/audio/FLAC.md) |
| `audio/matroska` | `.mka` | [Matroska](media/Matroska.md) Audio |
| `audio/wav` | `.wav` | [WAV](media/audio/WAV.md) |
| `audio/x-mpegurl` | `.m3u`, `.m3u8` | [Playlist File](media/m3u.md) |
### Font
| MIME Type | Extensions | Description |
| ----------- | ---------- | -------------------- |
| `font/ttf` | `.ttf` | TrueType Font |
| `font/otf` | `.otf` | OpenType Font |
| `font/woff` | `.woff` | Web Open Font Format |
### Image
| MIME Type | Extensions | Description |
| --------------- | --------------- | -------------------------------------------------------- |
| `image/heif` | `.heif` | HEIF Image |
| `image/avif` | `.avif` | [AVIF](media/image/AVIF.md) Image |
| `image/bmp` | `.bmp` | BMP Image |
| `image/gif` | `.gif` | GIF Image |
| `image/jpeg` | `.jpg`, `.jpeg` | JPEG Image |
| `image/jxl` | `.jxl` | [JPEG XL](media/image/JPEG%20XL.md) |
| `image/png` | `.png` | [PNG](media/image/PNG.md) Image |
| `image/svg+xml` | `.svg` | [Scalable Vector Graphics](media/image/SVG.md) Image |
| `image/tiff` | `.tiff`, `.tif` | TIFF Image |
| `image/webp` | `.webp` | [WebP](media/image/WebP.md) Image |
| `image/qoi` | `.qoi` | [QOI](media/image/QOI.md) Format |
| `image/x-xcf` | `.xcf` | XCF Image ([GIMP](../applications/media/images/GIMP.md)) |
### Message
| MIME Type | Extensions | Description |
| ------------------------- | ---------- | -------------------------------------------- |
| `message/delivery-status` | - | - |
| `message/http` | - | - |
| `message/partial` | `.part` | Partial File |
| `message/rfc822` | `.eml` | [eMail Message](Electronic%20Mail%20File.md) |
### Model
| MIME Type | Extensions | Description |
| ------------ | ------------------------ | ----------- |
| `model/mesh` | `.msh`, `.mesh`, `.silo` | 3D Mesh |
| `model/obj` | `.obj` | 3D Object |
### Multipart
| MIME Type | Extensions | Description |
| --------------------- | ---------- | ----------- |
| `multipart/digest` | - | - |
| `multipart/encrypted` | - | - |
| `multipart/form-data` | - | - |
| `multipart/parallel` | - | - |
### Text
| MIME Type | Extensions | Description |
| ---------------- | ------------------------------------------------ | --------------------------------------------------------------------------------------- |
| `text/calendar` | `.ics` | [Calendar](iCalendar.md) |
| `text/vcard` | `.vcf` | [Contact File](vCard.md) |
| `text/css` | `.css` | [CSS](../internet/CSS.md) Stylesheets |
| `text/csv` | `.csv` | [CSV](CSV.md) Data |
| `text/directory` | `-` | - |
| `text/html` | `.html`, `.htm` | [HTML](../internet/HTML.md) Data |
| `text/markdown` | `.markdown`, `.md` | [Markdown](Markdown.md) |
| `text/plain` | `.txt`, `.text`, `.conf` | Plain Text |
| `text/plain` | `.asc` | [ASCII](ASCII.md) (Armored) File |
| `text/plain` | `.log` | [Log Files](../dev/Log) |
| `text/plain` | `.diff` | Diff File ([diff](../applications/cli/diff.md) / [patch](../applications/cli/patch.md)) |
| `text/plain` | `.lrc` | [LRC](LRC.md) (Lyrics) File |
| `text/plain` | `.nfo` | Information File |
| `text/plain` | `.srt` | [SubRip Subtitle](media/SubRip.md) |
| `text/plain` | `.ass` | [ASS (Advanced SubStation Alpha) Subtitle](media/Advanced%20SubStation%20Alpha.md) |
| `text/c` | `.c`, `.cc`, `.cpp`, `.cxx`, `.dic`, `.h`, `.hh` | C Source File |
| `text/rust` | `.rs` | [Rust](../dev/programming/languages/Rust.md) Source File |
| `text/python` | `.py` | [Python](../dev/programming/languages/Python.md) File |
| `text/uri-list` | `.uri`, `.uris`, `.urls` | List with [URLs](../internet/URL.md) |
### Video
| MIME Type | Extensions | Description |
| ----------------- | -------------- | ----------------------------- |
| `video/AV1` | - | [AV1](media/video/AV1.md) |
| `video/H264` | - | [H.264](media/video/H.264.md) |
| `video/H265` | - | [H.265](media/video/H.265.md) |
| `video/webm` | - | [VP9](media/video/VP9.md) |
| `video/mp4` | `.mp4`, `.m4a` | MP4 Video |
| `video/quicktime` | `.mov`, `.qt` | Quicktime |
| `video/webm` | `.webm` | WebM Video |
| `video/matroska` | `.mkv` | [Matroska](media/Matroska.md) |