MIME-Typen Referenz
Schnelle Suche nach MIME-Typen für Dateiendungen mit Suche und Kategorie-Filter
Dokument(17)
application/pdf
application/msword
application/vnd.openxmlformats-officedocument.wordprocessingml.document
application/vnd.ms-excel
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
application/vnd.ms-powerpoint
application/vnd.openxmlformats-officedocument.presentationml.presentation
text/plain
application/rtf
application/vnd.oasis.opendocument.text
application/vnd.oasis.opendocument.spreadsheet
application/vnd.oasis.opendocument.presentation
text/csv
application/json
application/xml
text/html
text/html
Bild(15)
image/jpeg
image/jpeg
image/png
image/gif
image/webp
image/svg+xml
image/x-icon
image/bmp
image/tiff
image/tiff
image/avif
image/heic
image/heif
image/vnd.adobe.photoshop
image/raw
Audio(10)
audio/mpeg
audio/wav
audio/ogg
audio/mp4
audio/flac
audio/aac
audio/x-ms-wma
audio/aiff
audio/midi
audio/midi
Video(12)
video/mp4
video/webm
video/x-msvideo
video/quicktime
video/x-ms-wmv
video/x-flv
video/x-matroska
video/mp4
video/mpeg
video/mpeg
video/3gpp
video/mp2t
Archiv(9)
application/zip
application/vnd.rar
application/x-7z-compressed
application/x-tar
application/gzip
application/x-bzip2
application/x-xz
application/x-iso9660-image
application/x-apple-diskimage
Code(31)
application/javascript
application/javascript
application/typescript
application/typescript
application/javascript
text/css
text/x-scss
text/x-sass
text/x-less
text/x-python
text/x-java
text/x-c
text/x-c++
text/x-c
text/x-c++
text/x-csharp
text/x-go
text/x-rust
text/x-ruby
text/x-php
text/x-swift
text/x-kotlin
application/sql
application/x-sh
application/x-sh
application/x-yaml
application/x-yaml
application/toml
text/x-ini
text/x-vue
text/x-svelte
Schrift(5)
font/woff
font/woff2
font/ttf
font/otf
application/vnd.ms-fontobject
Andere(16)
application/vnd.microsoft.portable-executable
application/x-msi
application/vnd.android.package-archive
application/octet-stream
application/vnd.debian.binary-package
application/x-rpm
application/java-archive
application/java-archive
application/x-shockwave-flash
application/x-chrome-extension
application/x-xpinstall
application/x-bittorrent
text/calendar
text/vcard
application/epub+zip
application/x-mobipocket-ebook
Was ist ein MIME-Typ?
MIME-Typen (Multipurpose Internet Mail Extensions) sind ein Standard zur Kennzeichnung der Art und Format von Dokumenten, Dateien oder Byte-Streams. Browser und Server verwenden MIME-Typen um zu bestimmen, wie Inhalte behandelt werden. Beispiel: image/jpeg signalisiert dem Browser ein Bild anzuzeigen, application/pdf könnte eine PDF-Vorschau öffnen. MIME-Typen beschreiben, welche Art von Inhalt eine Datei oder HTTP-Antwort enthält, etwa text/html, application/json, image/png oder application/pdf. Sie beeinflussen Browserdarstellung, Downloads, API-Verarbeitung, Upload-Validierung, Caching und Sicherheitsregeln. Dateiendung und MIME-Typ stimmen nicht immer überein, deshalb ist die Prüfung bei unbekannten Dateien oder Serverkonfigurationen wichtig. Für Sicherheit sollte man MIME-Typen nicht blind vertrauen, sondern Inhalt, Erweiterung und erlaubte Typen gemeinsam validieren.
Anleitung
Schnellreferenz
- Verwende das Suchfeld, um bestimmte Dateierweiterungen oder MIME-Typen zu finden
- Klicke auf Kategorietags, um nach Dateityp-Kategorie zu filtern
- Klicke auf die Schaltflächen „Ext“ oder „MIME“, um den entsprechenden Inhalt zu kopieren
- Durchsuche die Kategorien für schnelles Nachschlagen: Dokumente, Bilder, Audio, Video, Archive, Code, Schriftarten usw.
Hinweise zum Nachschlagen
- MIME-Typen sind Konventionen, die von Servern, Browsern und Anwendungen verwendet werden; die Dateierweiterung allein ist kein Beweis für den tatsächlichen Inhalt.
- Überprüfe bei Uploads und Sicherheitsprüfungen nach Möglichkeit sowohl den angegebenen MIME-Typ als auch die Dateisignatur.
Anwendungsfälle
Technisches Prinzip
MIME-Typen (Multipurpose Internet Mail Extensions) sind standardisierte Bezeichner für Datenformate, die ursprünglich in RFC 2045/RFC 2046 für E-Mail-Anhänge definiert wurden und später von HTTP (RFC 7231 §3.1.1.5) für die Inhaltsaushandlung im Web übernommen wurden. Ein MIME-Typ ist als Typ/Untertyp aufgebaut – der Typ gibt die grobe Kategorie an (text, image, audio, video, application, multipart, font, model), der Untertyp das genaue Format (z. B. text/html, image/png, application/json). Optionale Parameter folgen nach einem Semikolon (text/html; charset=utf-8). Die Internet Assigned Numbers Authority (IANA) pflegt das offizielle MIME-Typ-Register unter iana.org/assignments/media-types. Die Registrierung folgt RFC 6838, der ein Prüfverfahren definiert, das eine Spezifikation, Sicherheitsüberlegungen und Interoperabilitätshinweise erfordert. Nicht registrierte Typen können das x- Präfix verwenden (z. B. application/x-tar) als Konvention für experimentelle oder herstellerspezifische Formate, wobei RFC 6648 empfiehlt, das x- Präfix zugunsten einer ordentlichen Registrierung zu vermeiden. In HTTP teilt der Content-Type-Header dem Client mit, wie der Antwortkörper zu interpretieren ist. Ein Server, der Content-Type: image/svg+xml zurückgibt, löst den SVG-Renderer des Browsers aus; Content-Type: application/octet-stream löst eine Download-Aufforderung aus, da der Browser das Format nicht bestimmen kann. Der Browser nutzt MIME-Typ-Informationen auch für das MIME Sniffing – wenn ein Server den Content-Type weglassen oder einen generischen Typ sendet, kann der Browser die ersten Bytes der Antwort (Magic Bytes) prüfen, um das tatsächliche Format zu erraten. Dieses Verhalten wird durch den Header X-Content-Type-Options: nosniff gesteuert, der das Sniffing deaktiviert und vom Server die korrekte Typ-Angabe verlangt. Bei Datei-Uploads teilt der Accept-Header dem Server mit, welche MIME-Typen der Client als Antwort erwartet, während das accept-Attribut des input-Elements die Dateiauswahl auf bestimmte Typen beschränkt (z. B. accept="image/png, image/jpeg"). Auf Serverseite sollten hochgeladene Dateien sowohl anhand ihres angegebenen MIME-Typs als auch anhand ihrer Dateisignatur (Magic Bytes) validiert werden, da keines allein vertrauenswürdig ist – eine als image/png benannte Datei mit Content-Type: image/png kann ausführbaren Code enthalten. Das Tool dient als Referenz zum Nachschlagen des kanonischen MIME-Typs für eine gegebene Dateierweiterung und deckt über 100 gängige Formate in acht Kategorien ab.
- RFC-2046-Struktur: Typ/Untertyp – der Typ gibt die grobe Inhaltskategorie an, der Untertyp das genaue Format; optionale Parameter folgen nach einem Semikolon (text/html; charset=utf-8) und sind laut Spezifikation schreibungsunabhängig, wobei Kleinschreibung die Konvention ist.
- IANA-Registrierung (RFC 6838): Neue Medientypen erfordern eine Spezifikation, einen Abschnitt zu Sicherheitsüberlegungen und Interoperabilitätshinweise – das Prüfverfahren stellt sicher, dass die Typen gut dokumentiert sind und Konflikte vermieden werden, bevor sie ins Register aufgenommen werden.
- HTTP Content-Type-Header: Der Server erklärt den MIME-Typ des Antwortkörpers; Browser verwenden ihn, um den passenden Renderer auszuwählen (HTML-Parser, Bilddecoder, PDF-Viewer) oder einen Download auszulösen – ein falscher Content-Type ist die häufigste Ursache dafür, dass Dateien heruntergeladen statt angezeigt werden.
- MIME Sniffing und X-Content-Type-Options: Wenn der Content-Type fehlt oder generisch ist, können Browser Magic Bytes prüfen, um das Format zu erraten – X-Content-Type-Options: nosniff deaktiviert dieses Verhalten und verlangt eine exakte Content-Type-Übereinstimmung, was eine bewährte Sicherheitspraxis ist.
- application/octet-stream: Der generische Binär-Fallback-Typ – Browser behandeln ihn als undurchsichtigen Datenstrom und lösen einen Download aus, was ihn zur sichersten Vorgabe macht, wenn der Server das Format nicht bestimmen kann, aber eine Anzeige im Browser ansonsten darstellbarer Inhalte verhindert.
- Validierung bei Datei-Uploads: Das accept-Attribut des input-Elements filtert die Dateiauswahl clientseitig, aber die serverseitige Validierung muss sowohl den angegebenen Content-Type als auch die Magic Bytes der Datei prüfen – eine Abweichung zwischen Erweiterung, MIME-Typ und Dateisignatur ist ein Warnzeichen für bösartige Uploads.
- Hersteller- und experimentelle Typen: Die x-Präfix-Konvention (application/x-tar, video/x-matroska) ist älter als das formale Registrierungsverfahren – RFC 6648 empfiehlt, diese nach Möglichkeit in ordentlich bei der IANA registrierte Typen zu überführen, aber viele sind nach wie vor weit verbreitet.
Beispiele
Nginx mime.types-Konfiguration
types {
text/html html htm;
image/jpeg jpg jpeg;
application/pdf pdf;
application/javascript js;
}
Hinweis: Jede Zeile ordnet einen MIME-Typ einer oder mehreren Dateiendungen zu; Nginx liefert den Typ im Content-Type-Header aus
IANA: https://www.iana.org/assignments/media-types/ pflegt die offizielle RegistrierungHTTP Content-Type Response-Header
Content-Type: application/json; charset=utf-8
Hinweis: charset ist optional, aber für text/* und application/json empfohlen; Clients dekodieren damit den Body korrekt
RFC: RFC 7231 Abschnitt 3.1.1.5 definiert die Semantik des Content-Type-Headers
MDN: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-TypeBrowser-Blob-Konstruktor
const blob = new Blob([data], { type: 'application/pdf' });
const url = URL.createObjectURL(blob);
Hinweis: Der Typ wird zum Content-Type, wenn der Blob später heruntergeladen oder hochgeladen wird; wähle einen spezifischen Subtyp, um application/octet-stream zu vermeiden
MDN: https://developer.mozilla.org/en-US/docs/Web/API/Blob/Blob dokumentiert den type-ParameterHäufige MIME-Typen nach Kategorie
Text: text/plain, text/html, text/css, text/javascript, text/markdown
Bild: image/jpeg, image/png, image/gif, image/webp, image/svg+xml
Audio: audio/mpeg, audio/wav, audio/ogg, audio/aac
Video: video/mp4, video/webm, video/ogg
Application: application/json, application/pdf, application/xml, application/zip
IANA kategorisiert diese in der Media-Types-Registrierung unter den Top-Level-TypnamenFAQ
Was ist ein MIME-Typ und warum ist er wichtig?
Ein MIME-Typ (Multipurpose Internet Mail Extensions, auch Medientyp genannt) ist ein kurzes Etikett wie text/html, image/png oder application/json, das empfangender Software mitteilt, wie ein Bytestrom zu interpretieren ist. Browser, Mailclients, Datei-Uploader und APIs richten sich danach, ob sie Inhalt rendern, herunterladen, parsen oder ablehnen.
Wie unterscheidet sich der MIME-Typ von einer Dateiendung?
Die Endung ist Teil des Dateinamens und reine Namenskonvention. Der MIME-Typ wird im Content-Type-Header über das Netzwerk übertragen. Sie sind meist konsistent (.png ↔ image/png), aber ein Server kann jede Endung mit jedem MIME-Typ ausliefern, und Browser vertrauen dem Header viel mehr als der Endung. Beide aufeinander abzustimmen ist gute Praxis; sich aus Sicherheitsgründen auf die Endung zu verlassen ist ein Fehler.
Was bedeutet application/octet-stream?
Es ist der generische MIME-Typ für 'beliebige Binärdaten'. Browser, die ihn empfangen, bieten einen Download an, statt den Inhalt zu rendern. Server fallen darauf zurück, wenn sie das Format nicht erkennen, was meist auf eine fehlende oder fehlkonfigurierte MIME-Zuordnung hindeutet. Ersetze ihn nach Möglichkeit durch den korrekten spezifischen Typ.
Kann ich Content-Type zur Validierung hochgeladener Dateien vertrauen?
Nicht allein. Jeder kann beim Hochladen einer ausführbaren Datei image/png angeben. Prüfe immer die tatsächlichen Bytes (Magic Numbers, PNG-Header 89 50 4E 47, PDF-Header %PDF-, ZIP-Header PK), prüfe die Dateiendung, erzwinge eine serverseitige Allowlist und begrenze die Dateigröße. Vom Browser ermittelter MIME-Typ beim Upload ist ein Hinweis, kein Beweis.
Warum speichert ein Download den falschen Dateinamen oder die falsche Endung?
Browser wählen den gespeicherten Namen aus dem Content-Disposition-Header, dem URL-Pfad und dem MIME-Typ in dieser Reihenfolge. Wenn der Server für einen PDF-Download text/html zurückgibt, kann der Browser ihn mit .html speichern. Setze Content-Disposition: attachment; filename="name.pdf" und den korrekten MIME-Typ application/pdf, um Überraschungen zu vermeiden.
Wie finde ich den richtigen MIME-Typ für ein eigenes oder seltenes Format?
Prüfe zuerst das IANA-Medientyp-Register (iana.org/assignments/media-types). Für nicht registrierte oder herstellerspezifische Formate ist die Konvention application/vnd.* oder application/x-* (z.B. application/vnd.api+json, application/x-7z-compressed). Nutze die nächste Standardentsprechung, bevor du etwas Neues erfindest.
Warum zeigen .json und .js unterschiedliche MIME-Typen?
JSON sind Daten und nutzen application/json. JavaScript ist ausführbarer Code und wird als text/javascript oder application/javascript ausgeliefert (RFC 9239 hat text/javascript zur empfohlenen Variante gemacht). Verwechseln spielt eine Rolle: Ein Script-Tag verweigert die Ausführung von application/json, und manche Server lehnen application/javascript ab, wenn sie nur die text-Variante akzeptieren.