Aller au contenu
DEV-TOOL

MIME Type Finder — Magic Byte + export config serveur

Recherche bidirectionnelle, détection Magic Byte dans le navigateur et export de snippet pour cinq stacks serveur — tout en local, sans téléversement de fichier.

Runs locally in the browser — the database is embedded, file bytes never upload.

100 MIME types · 81 IANA-registered · 15 modern

Magic-byte detection

Category

Filters

Results

100 of 100

Export server config

Generated from the current filter selection — refine filters, then copy or download the config.

# nginx types — generated by kittokit mime-type-finder
# Drop this block into your http {} or server {} context.
types {
    application/atom+xml    atom;
    application/epub+zip    epub;
    application/gzip    gz;
    application/java-archive    jar;
    application/javascript    js mjs;
    application/json    json;
    application/ld+json    jsonld;
    application/manifest+json    webmanifest;
    application/msword    doc;
    application/octet-stream    bin;
    application/pdf    pdf;
    application/postscript    ps eps;
    application/rss+xml    rss;
    application/rtf    rtf;
    application/sql    sql;
    application/vnd.android.package-archive    apk;
    application/vnd.apple.installer+xml    mpkg;
    application/vnd.microsoft.portable-executable    exe dll;
    application/vnd.ms-excel    xls;
    application/vnd.ms-powerpoint    ppt;
    application/vnd.oasis.opendocument.presentation    odp;
    application/vnd.oasis.opendocument.spreadsheet    ods;
    application/vnd.oasis.opendocument.text    odt;
    application/vnd.openxmlformats-officedocument.presentationml.presentation    pptx;
    application/vnd.openxmlformats-officedocument.spreadsheetml.sheet    xlsx;
    application/vnd.openxmlformats-officedocument.wordprocessingml.document    docx;
    application/vnd.rar    rar;
    application/wasm    wasm;
    application/x-7z-compressed    7z;
    application/x-bzip2    bz2;
    application/x-debian-package    deb;
    application/x-iso9660-image    iso;
    application/x-msdownload    exe dll;
    application/x-msi    msi;
    application/x-rar-compressed    rar;
    application/x-rpm    rpm;
    application/x-shockwave-flash    swf;
    application/x-tar    tar;
    # application/x-www-form-urlencoded (no extensions defined)
    application/x-xz    xz;
    application/xhtml+xml    xhtml xht;
    application/xml    xml;
    application/yaml    yaml yml;
    application/zip    zip;
    application/zstd    zst;
    audio/aac    aac;
    audio/flac    flac;
    audio/midi    mid midi;
    audio/mp4    m4a;
    audio/mpeg    mp3;
    audio/ogg    ogg oga;
    audio/opus    opus;
    audio/wav    wav;
    audio/webm    weba;
    font/collection    ttc;
    font/otf    otf;
    font/ttf    ttf;
    font/woff    woff;
    font/woff2    woff2;
    image/apng    apng;
    image/avif    avif;
    image/bmp    bmp;
    image/gif    gif;
    image/heic    heic heif;
    image/heic-sequence    heics;
    image/jpeg    jpg jpeg jpe jfif;
    image/jxl    jxl;
    image/png    png;
    image/svg+xml    svg svgz;
    image/tiff    tif tiff;
    image/vnd.adobe.photoshop    psd;
    image/vnd.microsoft.icon    ico;
    image/webp    webp;
    image/x-icon    ico;
    image/x-portable-pixmap    ppm;
    model/gltf-binary    glb;
    model/gltf+json    gltf;
    model/obj    obj;
    model/stl    stl;
    text/calendar    ics;
    text/css    css;
    text/csv    csv;
    # text/event-stream (no extensions defined)
    text/html    html htm;
    text/javascript    js mjs cjs;
    text/markdown    md markdown;
    text/plain    txt;
    text/tab-separated-values    tsv;
    text/vcard    vcf;
    text/xml    xml;
    text/yaml    yaml yml;
    video/3gpp    3gp;
    video/av1    av1;
    video/mp4    mp4 m4v;
    video/mpeg    mpeg mpg;
    video/ogg    ogv;
    video/quicktime    mov qt;
    video/webm    webm;
    video/x-matroska    mkv;
    video/x-msvideo    avi;
}

Comment ça marche

  1. 01

    Text oder Code einfügen

    Füge deinen Inhalt in das Eingabefeld ein oder tippe direkt.

  2. 02

    Automatische Verarbeitung

    Das Tool verarbeitet den Inhalt sofort und zeigt das Ergebnis.

  3. 03

    Ergebnis kopieren

    Kopiere das Ergebnis mit einem Klick in die Zwischenablage.

Confidentialité

Alle Berechnungen laufen direkt in deinem Browser. Keine Daten werden auf Server übertragen.

Trouver le bon MIME Type en 2026 est plus difficile que nécessaire : des centaines de codes IANA, des alias `x-` dépréciés, des formats modernes absents des anciennes antisèches, et l'en-tête `Content-Type` ne se déduit pas du nom du fichier.

01 — Mode d’emploi

Comment utiliser cet outil ?

  1. Utilisez le champ de recherche — saisissez une extension (`.webp`), un MIME (`image/webp`) ou un mot-clé.
  2. Glissez un fichier dans la zone de dépôt — les 32 premiers octets sont lus localement et comparés à la table Magic Byte.
  3. En cas de divergence (le nom dit JPG, les octets disent PNG), un avertissement apparaît — les octets font foi.
  4. Les pastilles de catégorie filtrent Application/Image/Audio/Video/Font/Model/Text. Les bascules IANA et Modern affinent encore.
  5. Copiez la configuration pour votre serveur — Apache `mime.types`, nginx `types { }`, IIS `web.config`, middleware Express ou Cloudflare Worker.

Que fait le MIME Type Finder ?

Le finder est un outil de recherche bidirectionnelle et un détecteur Magic Byte pour les MIME Types. Vous cherchez par extension de fichier (.webp, .heic, .wasm) et obtenez le MIME canonique plus la liste des alias — ou vous saisissez un MIME (image/webp, application/wasm) et voyez les extensions associées avec le marquage « canonique en premier ». Les deux sens sont réunis dans un champ de saisie, parce que la question la plus fréquente est : « quel Content-Type pour .webp ? » ou inversement « quelle extension vient de audio/ogg ? ».

Par entrée, l’outil affiche : le statut IANA (enregistré ou alias déprécié), les extensions canoniques et alternatives, une explication en une phrase du format, optionnellement le support navigateur pour les codecs modernes (AVIF, HEIC, JXL, WOFF2, WebAssembly) et le motif Magic Byte pour la reconnaissance.

Comment fonctionne la détection Magic Byte ?

Glissez un fichier dans la zone de dépôt — les 32 à 64 premiers octets sont lus localement via FileReader et comparés à la table des signatures. JPEG se reconnaît à FF D8 FF en début de fichier, PNG à 89 50 4E 47 0D 0A 1A 0A, PDF à 25 50 44 46 (ASCII « %PDF »), WebAssembly à 00 61 73 6D. Les formats conteneur tels que HEIC, AVIF et MP4 utilisent les boîtes ISO Base Media avec le marqueur ftyp à partir de l’octet 4 — la chaîne de marque qui suit (heic, avif, isom, mp42) décide de la variante précise.

Le dépôt fait foi : si le nom du fichier dit .jpg mais que les octets sont 89 50 4E 47, un avertissement de divergence apparaît. Les octets ne mentent pas — un fichier peut toujours être renommé. C’est la seule méthode fiable pour vérifier un MIME en validation de téléversement quand les en-têtes User-Agent ne sont pas dignes de confiance.

Quelle différence entre IANA enregistré et alias x- ?

Les MIME Types enregistrés à l’IANA figurent dans le Media Types Registry officiel et sont formellement standardisés via la RFC 6838. Le préfixe vnd. marque les codes spécifiques à un éditeur (par exemple application/vnd.ms-excel pour .xls), liés à un fournisseur identifié. Le préfixe x-, lui, était autrefois destiné à l’« expérimental » — mais la RFC 6648 l’a déclaré anti-pattern en 2012 : les nouveaux codes doivent être enregistrés directement, pas apparaître d’abord en x-.

En pratique, en 2026, il reste des doublons : image/x-icon (legacy, toléré par les navigateurs) face à image/vnd.microsoft.icon (enregistré IANA depuis 2003), ou application/x-rar-compressed (déprécié) face à application/vnd.rar (IANA depuis 2014). Le filtre « seulement IANA enregistré » masque les alias x-, pour que les nouvelles configs serveur utilisent le code moderne. Les serveurs existants doivent accepter les deux variantes — les navigateurs envoient historiquement souvent le préfixe legacy.

Quels formats modernes le finder couvre-t-il en 2026 ?

La base connaît les principaux nouveaux codecs des dernières années, support navigateur inclus, à partir de Can I Use :

  • Image : AVIF (image/avif, AV1, Chrome 85+/Firefox 93+/Safari 16+), HEIC (image/heic, HEVC, Safari 17+), JXL (image/jxl, libre de royalties, Firefox 111+/Safari 17+), WebP (image/webp, ubiquitaire).
  • Audio : Opus (audio/opus, basse latence, RFC 6716), FLAC (audio/flac).
  • Vidéo : AV1 (video/av1, libre de royalties, Chrome 70+/Firefox 67+/Safari 17+), conteneur WebM.
  • Police : WOFF2 (font/woff2, compression Brotli, police web canonique depuis 2018).
  • Application : WebAssembly (application/wasm, obligatoire pour la compilation en streaming), Web App Manifest (application/manifest+json, obligatoire pour la bannière d’installation PWA), JSON-LD (application/ld+json, données structurées schema.org), Zstandard (application/zstd, IANA 2018).
  • Modèle 3D : glTF binaire (model/gltf-binary, asset 3D mono-fichier pour WebGL/three.js).

La bascule « Seulement formats modernes » filtre sur ces ajouts 2018-2026 — utile pour bâtir un serveur d’assets statiques moderne qui peut ignorer les anciens formats DCT/RGB/indexés.

Quelles configs serveur le finder peut-il exporter ?

Cinq cibles, toutes générées à partir de la sélection courante :

  • Apache mime.types — un MIME par ligne, extensions séparées par des espaces. Déposable directement dans la config serveur.
  • nginx types { } — bloc pour contexte http {} ou server {}, avec les bons points-virgules.
  • IIS web.config — XML <staticContent> avec des éléments <mimeMap> pour chaque paire extension-MIME.
  • Middleware Express/Koa — snippet JavaScript avec carte MIME_BY_EXT et fonction setHeaders à passer dans les options express.static.
  • Cloudflare Worker — gestionnaire fetch par défaut qui réécrit l’en-tête Content-Type de réponse selon l’extension de l’URL — utile quand l’origine envoie un mauvais MIME.

Flux : posez les filtres Catégorie + IANA + Modern, choisissez l’onglet Export. L’outil affiche le snippet en direct ; le bouton « Copier » le met dans le presse-papiers, « Télécharger » l’enregistre comme fichier avec l’extension typique du serveur (mime.types, web.config, mime.types.conf, .js).

Quelles signatures Magic Byte le finder connaît-il ?

Plus de 40 signatures de format, groupées par complexité :

  • Trivial (1-4 octets en offset 0) : JPEG (FF D8 FF), PNG (89 50 4E 47 0D 0A 1A 0A), GIF (47 49 46 38 37 61 ou …39 61), PDF (25 50 44 46), ZIP/OOXML (50 4B 03 04), 7z (37 7A BC AF 27 1C), Gzip (1F 8B), bzip2 (42 5A 68), Zstandard (28 B5 2F FD).
  • Conteneurs RIFF (avec octets jokers pour la taille) : WebP (RIFF????WEBP), WAV (RIFF????WAVE), AVI (RIFF????AVI ).
  • Boîtes ISO Base Media (en offset 4 après préfixe de taille) : MP4 (ftypisom, ftypMSNV, ftypmp42), HEIC (ftypheic, ftypheix, ftypmif1), AVIF (ftypavif), QuickTime (ftypqt ), 3GPP (ftyp3gp4).
  • WebAssembly : 00 61 73 6D plus 4 octets de version.
  • Conteneurs de police : WOFF (wOFF), WOFF2 (wOF2), TrueType (00 01 00 00), OpenType (OTTO), Font Collection (ttcf).
  • Office legacy : OLE Compound (D0 CF 11 E0 A1 B1 1A E1) pour .doc/.xls/.ppt/.msi.
  • Archives : RAR v4 (52 61 72 21 1A 07 00), RAR v5 (52 61 72 21 1A 07 01 00), Debian (!<arch>), RPM (ED AB EE DB).

La syntaxe joker ?? autorise des octets variables au milieu d’une signature — pour les conteneurs RIFF, c’est l’indication de taille sur 4 octets, qui change selon le fichier. Même notation que la base magique de PHP finfo et l’outil Unix file(1).

Quel niveau de confidentialité pour la détection d’octets ?

100 % côté client de bout en bout. La base MIME complète est embarquée dans le bundle JavaScript (moins de 50 Ko minifié), la logique de recherche et de filtre tourne dans le thread principal. Au dépôt, l’API FileReader lit les 32-64 premiers octets dans un Uint8Array en RAM — le fichier lui-même n’est pas davantage touché, la lecture se fait côté client, aucun octet ne quitte le navigateur. Pour vérifier : F12, onglet « Réseau », glissez un fichier dans la zone de dépôt — aucune requête supplémentaire n’est envoyée.

L’export de config serveur est aussi du pur JS : les entrées sélectionnées sont formatées en chaînes, le bouton Copier utilise la Clipboard API, le bouton Télécharger crée un Blob URL. Pas de backend, pas de connexion, pas de pixel télémétrique.

Ce que le finder ne couvre PAS volontairement

L’outil n’est pas un convertisseur ni un portage complet de libmagic. Lacunes assumées :

  • Pas d’inspection côté serveur en profondeur — la commande Unix file(1) connaît des milliers de variantes de format via des heuristiques à règles (chaînes positionnelles, plusieurs offsets, calculs de longueur). Cela mériterait une famille d’outils dédiée, le finder se limite aux Magic Bytes à fort taux de succès par octet.
  • Pas d’analyse de fichiers en lot avec rapport téléchargeable — un seul dépôt à la fois. Pour vérifier cent fichiers en parallèle, il faut un outil CLI.
  • Pas de démo de sniffing d’en-têtes HTTP — récupérer une URL externe et lire son Content-Type serait utile mais échoue sur CORS et sur les implications de confidentialité. L’outil reste purement local.
  • Pas de conversion — pour convertir un PNG en WebP, utilisez le convertisseur dédié. Le finder identifie seulement, il ne modifie pas.

Pour une conversion de format, retrouvez les bons outils dans les catégories Image, Audio et Vidéo.

Dernière mise à jour :

Vous pourriez aussi aimer