スペック早見表

MIMEタイプ一覧 早見表|拡張子とContent-Typeの対応

主要なファイル拡張子とMIMEタイプ(メディアタイプ)の対応をテキスト・画像・音声/動画・文書/アーカイブ・フォント・その他の6カテゴリ・計47種でまとめました。Webサーバー設定・API設計・ファイルアップロード処理で「この拡張子のContent-Typeは何?」に即答できる一覧表です。IANA登録情報と現行RFCに基づいています。

📌 最頻出のMIMEタイプ TOP10

拡張子・用途MIMEタイプ
.jsonapplication/json
.htmltext/html
.jstext/javascript
.csstext/css
.pngimage/png
.jpg / .jpegimage/jpeg
.svgimage/svg+xml
.pdfapplication/pdf
フォーム送信(ファイルあり)multipart/form-data
種類不明のバイナリapplication/octet-stream

※ オレンジ網掛けは特に問い合わせの多いもの。.js の正式タイプは現在 text/javascript です(RFC 9239)。

拡張子⇄MIMEタイプ 対応表(カテゴリ別)

下の入力欄に「json」「image」「.woff」などと入力すると、全カテゴリの表から該当行だけを絞り込めます(空欄に戻すと全件表示)。

テキスト系

拡張子MIMEタイプ補足
.html / .htmtext/htmlHTML文書。charset=utf-8 の併記を推奨
.csstext/css誤ったタイプではスタイルが適用されない
.js / .mjstext/javascriptRFC 9239で正式化。application/javascriptは廃止扱い
.jsonapplication/json符号化はUTF-8。charsetパラメータは不要
.xmlapplication/xmltext/xml も同等に使用可(RFC 7303)
.csvtext/csvRFC 4180
.txttext/plainプレーンテキスト
.mdtext/markdownRFC 7763
.yaml / .ymlapplication/yamlRFC 9512(2024)で正式登録

画像

拡張子MIMEタイプ補足
.pngimage/png可逆圧縮・透過対応
.jpg / .jpegimage/jpeg「image/jpg」は誤り
.gifimage/gifアニメーション対応
.svgimage/svg+xmlXMLベース。スクリプト混入(XSS)に注意
.webpimage/webpRFC 9649で正式登録
.avifimage/avifAV1ベースの高圧縮画像
.icoimage/vnd.microsoft.iconIANA登録名。実務では image/x-icon も広く通用
.tif / .tiffimage/tiffRFC 3302
.bmpimage/bmpRFC 7903

音声・動画

拡張子MIMEタイプ補足
.mp3audio/mpegRFC 3003。「audio/mp3」は誤り
.wavaudio/wav実務上の一般値。IANA登録名は audio/vnd.wave
.oggaudio/oggRFC 5334。動画は .ogv = video/ogg
.aacaudio/aacIANA登録済み
.flacaudio/flacRFC 9639で正式登録
.m4aaudio/mp4音声のみのMP4コンテナ
.mp4video/mp4RFC 4337
.webmvideo/webmWebMプロジェクト定義のデファクト標準。音声のみは audio/webm
.movvideo/quicktimeQuickTimeコンテナ

文書・アーカイブ

拡張子MIMEタイプ補足
.pdfapplication/pdfRFC 8118
.zipapplication/zipIANA登録済み
.gzapplication/gzipRFC 6713
.docapplication/msword旧Word形式(〜2003)
.docxapplication/vnd.openxmlformats-officedocument.wordprocessingml.documentWord(OOXML)
.xlsapplication/vnd.ms-excel旧Excel形式(〜2003)
.xlsxapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheetExcel(OOXML)
.pptapplication/vnd.ms-powerpoint旧PowerPoint形式(〜2003)
.pptxapplication/vnd.openxmlformats-officedocument.presentationml.presentationPowerPoint(OOXML)
.epubapplication/epub+zip電子書籍(EPUB)

フォント

拡張子MIMEタイプ補足
.wofffont/woffRFC 8081(font/ツリー新設)
.woff2font/woff2Webフォントの現行主流
.ttffont/ttfTrueType
.otffont/otfOpenType

その他・特殊用途

拡張子・用途MIMEタイプ補足
.wasmapplication/wasmWebAssembly。ストリーミングコンパイルに必須
.icstext/calendarRFC 5545(iCalendar)
.webmanifestapplication/manifest+jsonPWAのWeb App Manifest
フォーム送信(ファイルあり)multipart/form-dataRFC 7578。<form enctype> で指定
フォーム送信(既定)application/x-www-form-urlencodedHTMLフォームPOSTの既定値
種類不明のバイナリapplication/octet-streamRFC 2046。ブラウザは通常ダウンロード保存する

charset指定の書き方

Content-Typeヘッダは Content-Type: text/html; charset=utf-8 のように、MIMEタイプの後ろにセミコロン区切りでパラメータを付けられます。charsetは文字コードを示すパラメータで、text/html・text/plain・text/cssなど文字ベースの形式で使います。

かつてのHTTP/1.1仕様ではtext系の既定文字コードがISO-8859-1とされていましたが、現行仕様ではこの既定は廃止され、明示しない場合の解釈は受信側に委ねられます。文字化けを避けるため、テキスト系レスポンスにはcharset=utf-8を明示するのが現在の定石です。HTML文書では<meta charset="utf-8">とContent-Typeの内容を一致させておきます。

一方、application/jsonはUTF-8で符号化すると仕様で決まっているため、charsetパラメータは定義されておらず不要です。また multipart/form-data では境界文字列を示す boundary パラメータが必須になるなど、パラメータの扱いはタイプごとに異なります。

実務の注意点

application/javascript と text/javascript の経緯

text/javascript は1990年代から使われてきた慣用値でしたが、RFC 4329(2006年)で一度は非推奨とされ、application/javascript が正式タイプになりました。しかしWeb上の実態はtext/javascriptのまま変わらず、RFC 9239(2022年)で判断が逆転。現在はtext/javascriptが唯一の正式タイプで、application/javascriptを含む他の表記はすべて廃止(obsolete)扱いです。ESモジュール(.mjs)もtext/javascriptで配信します。

SVGとXSS

SVGはXML文書であり<script>要素を含められます。ユーザーがアップロードしたSVGをそのままimage/svg+xmlで同一ドメインから配信すると、URLを直接開いた際にスクリプトが実行されXSSにつながる恐れがあります。<img>タグ経由の表示ではスクリプトは実行されませんが、対策としてサニタイズ、Content-Disposition: attachmentの付与、配信用の別ドメイン分離などを組み合わせるのが定石です。

application/octet-stream のダウンロード挙動

ブラウザはこのタイプを「表示できない不明なバイナリ」として扱い、通常はダウンロード保存します。ただし「ダウンロードさせたい」目的でoctet-streamを使うのは本来の用法ではなく、正しいMIMEタイプ + Content-Disposition: attachment; filename="..." の組み合わせが正攻法です。タイプの誤魔化しはブラウザのMIMEスニッフィング(中身からの形式推測)を誘発するため、X-Content-Type-Options: nosniffと併せて正確なタイプを返すのが安全です。

使い方・選び方のポイント

使用場面

Webサーバーの配信設定(nginx・Apacheのmime.types / AddType)、APIのリクエスト/レスポンス設計、ファイルアップロードの検証、メール添付の形式指定に使います。実際に返っているContent-Typeは、ブラウザのF12開発者ツール(Networkタブ)や curl -I [URL] で確認できます。

よくある間違い

audio/mp3(正: audio/mpeg)、text/json(正: application/json)、image/jpg(正: image/jpeg)は定番の誤記です。また application/javascript は現在廃止扱い(正: text/javascript)、application/json への charset=utf-8 付与は不要です。

選び方のコツ

①まず本表またはIANAレジストリで登録名を確認 ②テキスト系にはcharset=utf-8を明示 ③形式が特定できない場合のみapplication/octet-streamを使い、ダウンロードさせたい場合はContent-Dispositionヘッダを併用します。

MIMEタイプの仕組みと背景

MIMEは Multipurpose Internet Mail Extensions の略で、もともとはASCIIテキストしか扱えなかった電子メールに画像や音声などを載せるために作られた拡張仕様です(RFC 2045/2046・1996年)。データ形式を「type/subtype」という2階層の識別子で表す方式がここで導入され、そのままHTTPのContent-Typeヘッダに採用されました。現在の仕様上の正式名称は「メディアタイプ」ですが、歴史的経緯から「MIMEタイプ」という呼び名が広く定着しています。

先頭のトップレベルタイプは、単一データを表す text・image・audio・video・application に加え、複数パートの複合データを表す multipart、メッセージを包む message、RFC 8081(2017年)で新設された font などがあります。「どのトップレベルにも当てはまらない形式」や実行可能データは application に分類されるため、application/* の種類が最も多くなっています。

タイプの登録はIANAの Media Types Registry で一元管理され、登録手続きはRFC 6838が定めています。標準ツリーのほかにベンダー用の vnd.(docxの長いタイプ名はこの例)、個人用の prs. があり、未登録タイプに使われてきた「x-」プレフィックスはRFC 6648(2012年)で非推奨になりました。image/x-icon が image/vnd.microsoft.icon として登録されたように、慣用値から正式登録への移行が続いています。また「+xml」「+json」「+zip」のような構造化構文サフィックスにより、受信側は未知のサブタイプでもベースとなる構文を判別できます。

よくある質問

Q1. Content-TypeとMIMEタイプの違いは?

A. MIMEタイプ(正式にはメディアタイプ)は「text/html」のようなデータ形式の識別子そのもの、Content-TypeはそれをHTTPレスポンスやメールのヘッダで伝えるためのヘッダ名です。Content-Type: text/html; charset=utf-8 のように「MIMEタイプ+パラメータ」の形で指定します。

Q2. .jsのMIMEタイプはapplication/javascriptとtext/javascriptのどちらが正しい?

A. 現在の正式なタイプはtext/javascriptです(RFC 9239・2022年)。一時期application/javascriptが推奨されていましたが、ブラウザと既存コンテンツの実態に合わせてtext/javascriptに一本化され、application/javascriptは廃止(obsolete)扱いになりました。どちらもブラウザは解釈しますが、新規にはtext/javascriptを使います。

Q3. charset=utf-8はいつ付ける?

A. text/htmlやtext/plainなど文字ベースの形式で文字コードを明示したいときに付けます。application/jsonは仕様上UTF-8で符号化されるためcharsetパラメータは定義されておらず、付けても意味を持ちません。HTMLでは<meta charset="utf-8">とContent-Typeの内容を一致させておくのが安全です。

Q4. application/octet-streamとは何?

A. 「種類を特定しない任意のバイナリデータ」を表す汎用タイプです(RFC 2046)。ブラウザは中身を表示せずダウンロード保存する挙動になるのが一般的です。ファイル形式が分かっている場合は、octet-streamではなく正しいタイプを指定します。

Q5. MIMEタイプを間違えるとどうなる?

A. CSSが適用されない(スタイルシートはtext/cssが必須)、JavaScriptモジュールが実行されない、画像が表示されずダウンロードされる、などの不具合が起きます。またX-Content-Type-Options: nosniffを設定した環境では、誤ったタイプのリソースはブラウザにブロックされます。

Q6. 拡張子とMIMEタイプの対応は誰が決めている?

A. IANAが登録・管理しているのはMIMEタイプ自体で、拡張子との対応に公式な1対1の対応表があるわけではなく慣習です。実際にはWebサーバー(nginxやApacheのmime.typesファイルなど)が拡張子→MIMEタイプの対応表を持ち、レスポンスのContent-Typeを付与しています。

Q7. image/svg+xmlの「+xml」は何を意味する?

A. RFC 6838で定義された構造化構文サフィックスで、「ベースがXML形式である」ことを示します。同様にapplication/manifest+jsonの+json、application/epub+zipの+zipなどがあり、受信側がベースとなる構文を判別できるようにする仕組みです。

関連する早見表

関連規格・出典

  • IANA Media Types Registry — メディアタイプの公式登録一覧
  • RFC 6838「Media Type Specifications and Registration Procedures」— 登録手続き・命名規則(+サフィックス等)
  • RFC 2046「MIME Part Two: Media Types」— メディアタイプの基本定義
  • RFC 9239「Updates to ECMAScript Media Types」— text/javascriptの正式化

最終更新: 2026-07-02