← PC・IT用語集へ戻る

拡張子

File Extension
environment beginner
ファイルの種類を識別するために、ファイル名の末尾に付けられる「.html」や「.png」などの文字列。
拡張子 (File Extension)

概要(サマリー)

拡張子とは、ファイルの種類を識別するためにファイル名の末尾に付けられる、「.(ドット)」で始まる数文字の英数字のことである。

たとえば、ウェブページを作成するファイルには .html、スタイルシートには .css、プログラムを書くファイルには .js.py といった拡張子が付けられる。

これにより、コンピュータの OS は「このファイルはどのアプリで開くべきか」を自動的に判断し、適切な処理やアイコンの表示を行う。

詳細解説

拡張子の仕組み

ファイル名は通常、「ファイル名本体」と「拡張子」がドットによって区切られた構造をしている。

index.html
├─── └─── 拡張子(HTMLファイルであることを示す)
└─── ファイル名本体

コンピュータ内部ではすべてのデータがバイナリ(0と1の並び)で保存されているため、ファイル名に拡張子を添えることで、人間とシステムの両方がそのファイルが何であるかを素早く判別できるようになっている。

代表的な拡張子の種類

開発や一般的なPC操作でよく遭遇する拡張子には、以下のようなものがある。

  • Web開発で使う拡張子: .htmlHTML文書)、.css(スタイルシート)、.jsJavaScript
  • テキスト・設定データ: .txt(プレーンテキスト)、.mdマークダウン)、.json(データ形式)、.yaml(設定ファイル形式)
  • 画像形式: .png(透過可能な画像)、.jpg / .jpeg(写真用の画像)、.svg(ベクター画像)
  • 実行ファイル・プログラム: .exe(Windows用実行プログラム)、.sh(シェルスクリプト)、.pyPythonソースコード

開発環境における拡張子の重要性

WindowsやmacOSの初期設定では、一般的なファイル拡張子(.docx.xlsx など)が非表示にされていることが多い。

しかし、プログラミングやWeb制作を行う上では、拡張子は必ず表示する設定に変更しなければならない。

拡張子が隠されていると、以下のような問題が発生する。

  • index.html という名前で保存したつもりが、実際には index.html.txt になっていてブラウザで開けない。
  • 本物のファイルと偽装されたウイルスファイル(invoice.pdf.exe など)を見落として実行してしまう。

そのため、VS Code などのテキストエディタや、ファイル管理ソフトの設定で常に拡張子を表示させておくことが、トラブルを防ぐ基本となる。

拡張子を変更するとどうなるか

ファイルの拡張子を手動で書き換えると、OSはそのファイルを指定された新しいファイル形式として扱おうとする。

たとえば、photo.pngphoto.txt に書き換えると、OSは画像ファイルではなくテキストファイルとしてメモ帳などで開こうとする。

しかし、ファイル内部のデータ構造(バイナリ形式)自体は変わっていないため、メモ帳で開いても文字化けしたデータが表示されるだけであり、元の画像データが壊れるわけではないが、正常に開けなくなる。

正しいファイル形式に変換したい場合は、拡張子を書き換えるのではなく、対応するアプリケーションの「名前を付けて保存」や「エクスポート」機能を使ってデータ構造ごと変換する必要がある。

AIコーディングとの関係

AIにコード生成を依頼し、その出力結果を保存する際には、適切な拡張子を選択することが不可欠である。

AIから出力されたコードをコピーしてローカルPCに保存する際は、対象の言語に応じた拡張子(HTMLなら .htmlCSSなら .css など)で保存しないと、エディタによる構文強調(シンタックスハイライト)やコードの実行が正しく行われない。

また、AIにエラーの解決やコード解説を求める際、ファイル全体のコードと併せて「このコードは index.js のものです」のように拡張子を明示することで、AIはどのプログラミング言語の仕様や構文に基づいているのかを正確に理解し、的確な回答を返せるようになる。

よくある勘違い

拡張子を書き換えればファイル形式を変換できる?

これは最も多い誤解である。

たとえば、.png(画像ファイル)の拡張子を .pdf(文書ファイル)に書き換えても、ファイルの見た目上のアイコンや開くアプリが変わるだけで、データ自体の構造は画像データのままである。

形式を変換するには、画像をPDFとして保存できるアプリを使って正しく書き出す(変換する)必要がある。

拡張子は常に3文字でなければならない?

昔の古いOS(MS-DOSなど)の制限により、拡張子は3文字(.htm.jpg など)にするルールがあった。

しかし、現代のOSにはその制限はなく、.html.jpeg.json.lock などの4文字以上の拡張子も一般的に使用されている。

拡張子は非表示のままでも開発できる?

非表示のままだと、意図しないファイル名の重複や、正しくファイルを保存できたかの確認が困難になる。

また、間違った種類のファイルを読み込んでプログラムがエラーを起こす原因にもなるため、開発作業を始める前に、必ずOSの設定で「登録されている拡張子は表示する」ように設定変更するべきである。

まとめ

  • 拡張子は、ファイルの種類をOSやアプリに伝えるための末尾の文字列である。
  • ファイル形式ごとに固有の拡張子があり、これにより開くアプリが決定される。
  • 開発を行う際は、トラブルを防ぐために必ずOSの設定で拡張子を「常に表示」にする。
  • 拡張子の書き換えだけでファイル形式を変換することはできず、専用のアプリや変換処理が必要である。

情報ソース

より詳しくAIに聞いてみよう

  • 拡張子が表示されていないと、Web開発でどのようなトラブルが起きますか?
  • WindowsとMacで、それぞれファイルの拡張子を常に表示させる設定方法を教えてください。
  • .html.htm.jpeg.jpg のように似た拡張子があるのはなぜですか?
  • テキストエディタは、ファイルの拡張子をどのように認識して色分け(構文強調)を行っているのですか?
  • AIに「〇〇の処理をするプログラム」を作ってもらう際、どの拡張子で保存すればよいかを聞くための指示の出し方を教えてください。