ファイルフォーマット

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

**概要**
コンピュータにおいてメディア（文書、音声、画像、動画）やプログラムはファイルとして保存される。統一された順序・構造でこれらの情報がファイルとして保存されていれば、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- FlashPix- 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の日本語訳）