ファイルフォーマット

ファイルフォーマット（、ファイル形式）は情報をファイルへ収納する形式である。

概要 
コンピュータにおいてメディア（文書、音声、画像、動画）やプログラムはファイルとして保存される。統一された順序・構造でこれらの情報がファイルとして保存されていれば、OSやアプリケーションは一貫した方法でファイルにアクセスし情報を利用できる。これを可能にする、ファイルへの情報格納規格がファイルフォーマット（ファイル形式）である。

通常「ファイルフォーマット」と呼ばれるが、MS-DOSやMicrosoft Windows、UNIX、Unix系などのオペレーティングシステムにおけるファイルはストリーミングデータ（データストリーム）形式であり、正確には「各ファイルに格納されたデータのフォーマット」の事である。

通常ファイルに格納されたデータは、テキストまたはバイナリファイルなので、ファイルの内容だけからはそのファイルフォーマットを知ることが困難な場合がある。このため、ファイル名に拡張子をつけて識別したり、ネットワークでの転送時にはMIMEヘッダ（メディアタイプ）等をあわせて送ったり、といった方法が採られる。このようなメタデータを付与する方法はファイルの内容自体に影響を与えず、またファイルを開くことなく種別を判定できる、という利点がある。しかし、拡張子は簡単に、しかも自由に編集できるため、信頼性は極めて低い。またMIMEタイプはIANAによって正式に登録・標準化されていない独自の文字列をアプリケーションやシステムが勝手に付与することもありうる。そのため、多くのファイルフォーマットは、ファイルの先頭にマジックナンバーと呼ばれる、より確実にファイル形式を識別するための情報を付加する。

さまざまなアプリケーションで扱える標準的なフォーマットもあるが、オペレーティングシステムやアプリケーションによりそのデータ形式は様々である。特定のアプリケーションで扱えるデータ形式に変換するためのファイルコンバータを利用できることがある。

データの区切りの単位に注目した分類 
 bit（ビット）をデータの区切りの単位とするデータ。例：圧縮されたデータ
 byte（バイト、1byte = 8bit）を単位とするデータ。例：各種アプリケーションのデータファイル
 文字を単位とするデータ。例：テキストファイル
 特定の文字に意味を持たせ構造化したデータ。例：CSV、マークアップ言語（HTML、XMLなど）

テキストもバイナリの一種であるが、実際のビット列はエンコーディング時に採用する文字セットに左右される。テキストのデータストリームをデコードする際のヒントとして、ファイル先頭付近にバイト順マークや文字セット名を記載するフォーマットもある。

各種プログラミング言語のソースファイルも、構造化されたプレーンテキストファイルの一種である。

汎用性に注目した分類 
標準化されたフォーマット
 国際的な機関で制定されたフォーマット。ファイルフォーマットの例としては、JPEG、MPEGなどがある。標準化機関の例としては、国際標準化機構 (ISO)、日本産業規格 (JIS)、World Wide Web Consortium (W3C) などがある。
事実上、業界標準となっているフォーマット
 後述する「特定のオペレーティングシステム (OS) やアプリケーションに依存するフォーマット」に含まれるが、広く使用され事実上標準（デファクトスタンダード）となっているもの。例としては、GIFやFBX、PDF（米Adobe社、後にISO標準化）などがある。
特定のオペレーティングシステム (OS) やアプリケーションに依存するフォーマット
 各種OSやアプリケーションのデータファイル。例としては、BMP、RTF（Microsoft Windows）など多数ある。

よく知られたファイルフォーマット一覧

テキスト、ハイパーテキスト、ドキュメント 
 プレーンテキスト
 RTF (Rich Text Format)
 HTML (HyperText Markup Language)
 XHTML (Extensible HyperText Markup Language)
 MHTML (MIME Encapsulation of Aggregate HTML Documents)
 TeX
 PDF (Portable Document Format)
 DjVu
 DVI (DeVice Independent)
 CSV (Comma-Separated Values)

オフィススイート 用のフォーマット 
主なオフィススイート用のフォーマットには以下がある。
Lotus 1-2-3
 123、wk3、wk4 など
一太郎
 jtd （一太郎 V8 以降）
 Microsoft Officeの独自フォーマット
doc（Microsoft Wordの独自フォーマットの拡張子）
xls（Microsoft Excelの独自フォーマットの拡張子）
ppt（Microsoft PowerPointの独自フォーマットの拡張子）
 Office Open XML（Microsoft Office 2007で新たに採用された文書フォーマット）
Office Open XML Document（文書用）
Office Open XML Workbook（表計算用）
Office Open XML Presentation（プレゼンテーション用）
 OpenDocument
OpenDocument Text（文書用）
OpenDocument Spreadsheet（表計算用）
OpenDocument Presentation（プレゼンテーション用）
OpenDocument Database（データベース用）
OpenDocument Formula（数式用）
Uniform Office Format

データ記述フォーマット 
 Adobe Illustrator (AI)
 Adobe Photoshop (PSD)
 CSS
 CSV
 PDF
 PostScript
 SGML
 TOML
 XML
 RDF
 RSS

画像・図形

3D 
 Standard Triangulated Language (STL)
 Wavefront .objファイル (OBJ)
 PLY (ファイル形式) (PLY)
 Additive Manufacturing File Format (AMF)
 3MF (3MF)
 X3D (X3D)

ラスターイメージ 

 BMP (Windowsビットマップ)
 DPX
 
 GIF
 HD Photo
 JPEG
 JPEG 2000
 JPEG XR
 MAG
 OpenEXR
 PICT
 PNG
 RAW画像
 DNG
 TGA
 TIFF
 XBM (X11ビットマップ)

ベクターイメージ 

 DXF
 EPS
 HP-GL
 SVG
 Windows Metafile

音声 

 MP3 (MPEG-1 Audio Layer-3)
 mp3PRO
 AAC (Advanced Audio Coding)
 ALAC (Apple Lossless Audio Codec)
 WAV (RIFF Waveform Audio Format)
 WMA (Windows Media Audio)
 AIFF (Audio Interchange File Format)
 AU
 Ogg Vorbis
 RealAudio
 FLAC (Free Lossless Audio Codec)
 Monkey's Audio

楽曲 
 Standard MIDI File (SMF)
 EUP (EUPHONY) - FM TOWNS標準の楽曲フォーマット
 MML (Music Macro Language)
 SMAF (Synthetic music Mobile Application Format)

動画 

 AVI (Audio Video Interleave)
 ASF (Advanced Systems Format)
 FLV (Flash Video)
 OGM (Ogg Media)
 OGG (Ogg file)
 MPEG (Moving Picture Experts Group)
 MPEG-1
 MPEG-2
 MPEG-4
 MP4 (MPEG-4 Part 14)
 MOV (QuickTime Movie)
 RealVideo
 VG2
 DivX (DivX Media Format)

時間軸を持つもの 
 アニメーションGIF
 MNG (Multiple-image Network Graphics)
 SWF (Macromedia Shockwave Flash)
 SMIL (Synchronized Multimedia Integration Language)

ファイルアーカイブ（圧縮など） 
 7z
 ACE
 AFA
 bzip2
 DGCA (Digital G Codec Archiver)
 CAB
 tar
 GCA (G Compression Archiver)
 gzip
 LHA (LZH) / LHarc
 RAR
 ZIP
 StuffIt
 Compact Pro

オブジェクトファイル 

 EXEフォーマット
 Portable Executable
 COMフォーマット
 a.out
 ELF (Executable and Linkable Format)
 PEF (Preferred Executable Format)
 Mach-O
 S-record
 dyld

通信関連 
MACフレーム
PPPフレーム
HDLCフレーム
パケット
IPパケット
TCPパケット
HTTPパケット

その他 
 EDIF (Electronic Design Interchange Format) - 電子設計データ

ファイルフォーマットと関連づけ 

特定のファイルフォーマットと、それを開くアプリケーションソフトウェアを登録しておき、操作を行いたいファイルを選択した際にアプリケーションソフトウェアを選ぶ手間を省くための動作を関連づけ (association) という。関連づける手法はオペレーティングシステムなどの環境により異なる。例えばWindowsやOS/2では拡張子によって対応するアプリケーションを選択する（Windowsではレジストリに登録する。OS/2ではWPSの.INIファイルに情報が格納される）。

Mac OSでは、ファイルのメタデータとしてクリエータとタイプというデータがある。ファイルシステムのHFSとHFS+、ファイル転送プロトコルのAFPではこれらは保持されるが、FTP、HTTP、電子メール等を介してファイルをやりとりする場合は、クリエータとタイプを保持するフォーマット（Macバイナリ、AppleSingle、AppleDouble、BinHex等）に変換するか、Mac OS用のアーカイブフォーマット（StuffIt、MacLHA等）を用いる必要がある。
macOSではクリエータとタイプがあればそれを優先するが、なければ拡張子による対応づけが利用される。

脚注

関連項目 
 データ
 データ変換
 データ圧縮
 オープンフォーマット
 電子データ交換

外部リンク 
拡張子辞典（ccfa.info）
 dotwhat.net - File extension and file format information. Information on opening, editing an creating file extensions.
FileTypes.jp - ファイル拡張子とファイルの種類
Manpage of SUFFIXES（LinuxのManpageの日本語訳）

OSのファイルシステム