MIME type podle přípony souboru

Najděte MIME typ podle přípony i naopak. Ke každému typu dostanete hotový zápis pro Content-Type, .htaccess, nginx, PHP i atribut accept ve formuláři.

Hledá se v obou směrech: zadejte příponu a dostanete MIME typ, nebo zadejte typ a dostanete přípony. Funguje i celý název souboru, český popis a klíčové slovo; na tečce, velikosti písmen ani diakritice nezáleží.

Kategorie odpovídá části MIME typu před lomítkem.

Detail typu

—MIME typ
—Přípony
Formát—
Kategorie—
Obsah—
Registrace v IANA—
Další používané typy—
Stejná přípona, jiný typ—

Hotový zápis

Vyberte typ v tabulce níže.

Parametr charset se doplní jen u textových formátů. U rodiny JSON chybí záměrně — RFC 8259 ho nedefinuje, kódování je vždy UTF-8.

Tabulka MIME typů

0 typů
PříponaMIME typFormátKategorie
Dotazu neodpovídá žádný MIME typ.

Kliknutím na příponu se načte detail nahoře. Tlačítko „Kopírovat tabulku" zkopíruje celý filtrovaný výpis jako text oddělený tabulátory, takže jde vložit do tabulkového procesoru.


Jak vyhledávač MIME typů použít

  1. Napište do pole příponu, celý název souboru nebo rovnou MIME typ. Tečka na začátku je jedno, s ní i bez ní.
  2. Hledat můžete i česky podle druhu obsahu, třeba „obrázek“ nebo „písmo“. Diakritiku psát nemusíte.
  3. Klikněte na řádek v tabulce a nahoře se ukáže detail vybraného typu.
  4. V sekci s hotovým zápisem přepněte na prostředí, které používáte: HTTP hlavičku, .htaccess, nginx, PHP nebo formulářový atribut accept.
  5. Zkopírujte samotný MIME typ nebo hotový řádek konfigurace.

MIME typ pro PDF, JSON a další běžné formáty

Nejčastěji hledané hodnoty vypadají takhle:

  • PDF: application/pdf
  • JSON: application/json
  • CSV: text/csv
  • JPEG: image/jpeg, a to i pro příponu .jpg
  • SVG: image/svg+xml
  • ZIP: application/zip

Kancelářské formáty od Microsoftu jsou nepříjemně dlouhé. Soubor .docx je application/vnd.openxmlformats-officedocument.wordprocessingml.document a .xlsx má obdobný tvar končící na spreadsheetml.sheet. Zpaměti je nikdo nepíše, proto je vedle nich tlačítko na zkopírování.

K čemu slouží hlavička Content-Type

MIME typ se k prohlížeči dostane v HTTP hlavičce Content-Type. Podle ní se rozhodne, jestli soubor vykreslí, přehraje nebo nabídne ke stažení. U textových formátů se za typ přidává kódování, tedy Content-Type: text/html; charset=utf-8. Bez toho hrozí rozsypaná diakritika.

Špatná hodnota se pozná typicky tak, že se PDF nebo obrázek začne stahovat místo zobrazení, nebo se naopak v okně otevře nesmyslný výpis znaků. Když server typ vůbec nezná, pošle univerzální application/octet-stream, což znamená „nevím, co to je, stáhni to“. Nastavit správnou hodnotu jde v konfiguraci .htaccess nebo přímo v konfiguraci serveru.

Jak se přípona souboru mapuje na MIME typ

Přípona a MIME typ spolu nesouvisí tak pevně. Server dvojice jen dohledá v tabulce a klidně mu můžete říct, že .txt má posílat jako HTML. Prohlížeč se řídí hlavičkou, ne koncovkou v adrese.

Vazba navíc není vždycky jednoznačná v obou směrech. Přípona .ts patří jak videu video/mp2t, tak zdrojovému kódu v TypeScriptu, a .3gp má registrovanou variantu pro zvuk i pro video. Nástroj u takových případů ukáže i konkurenční typ, aby vás to nepřekvapilo. Oficiální registr spravuje IANA a dá se v něm dohledat, jestli je konkrétní typ registrovaný.

Kontrola MIME typu při nahrávání souborů

U formuláře s nahráváním souborů se hodí atribut accept, který uživateli v dialogu předfiltruje, co může vybrat. Nástroj ho vypíše i s příponou, protože podpora napříč prohlížeči není jednotná a dvojitý zápis funguje spolehlivěji.

Bezpečnostní kontrola to ale není. Atribut i hlavička, kterou prohlížeč pošle, se dají snadno podvrhnout, takže na serveru je potřeba typ ověřit z obsahu souboru. V PHP na to slouží třída finfo, která se dívá na skutečná data, ne na název. Ke stažení výsledku bez uložení na disk se hodí enkodér Base64, kde MIME typ tvoří součást data URI.

Časté otázky

Jaký je rozdíl mezi MIME typem a Content-Type?

MIME typ je samotný název formátu, například application/pdf. Content-Type je HTTP hlavička, která ten název přenáší, a může k němu přidat další údaje jako znakovou sadu. V praxi se obě slova používají zaměnitelně, i když přesně vzato označují různé věci.

Co znamená application/octet-stream?

Je to univerzální typ pro binární data neznámého formátu. Server ho pošle, když soubor nemá v tabulce typů, a prohlížeč pak nabídne stažení. Když se vám takhle stahuje soubor, který se má zobrazit, chybí pro jeho příponu záznam v konfiguraci serveru.

Kde MIME typy vznikají a kdo je určuje?

Označení zavedla specifikace MIME z roku 1992, původně kvůli přílohám e-mailů, a web ji převzal později. Vedle registrovaných typů existují i neoficiální, poznáte je podle předpony x- v podtypu.

Jak zjistím MIME typ konkrétního souboru?

Podle přípony ho najdete tady. Skutečný typ podle obsahu zjistíte na Linuxu příkazem file --mime-type soubor, v PHP přes finfo_file(). To je spolehlivější, protože přípona se dá přejmenovat, ale obsah souboru ne.