Comma-Separated Values
データ交換用のデファクトスタンダードとして、古くから多くの表計算ソフトやデータベースソフトで使われている。CSV形式の細部の実装はソフトウェアによって異なるため(例えば項目を単一引用符「'」や二重引用符「"」で括ったり、ファイルの一行目をヘッダとして予約したりなど)、他のソフトウェアで表(テーブル)として読み込む際に互換性で問題が出る場合がある。しかし、CSVの実質はプレーンテキストであるため、CSVファイル(カンマ区切りファイル)の実質はテキストファイルである。そのため、出力プログラムの記述が極めて容易であり、プログラミング言語を問わない点や、汎用的なテキストエディタでも読み書きできる点が、互換性の面で大きな利点となっている。また、新しいレコードの追記が単純な末尾追加だけで済むため、ソフトウェアの簡易的なログに使用されることもある。
RFC 4180に述べられた仕様について述べる。
ファイルは1つ以上のレコードからなる。レコードは改行(␍␊、U+000D U+000A)で区切られる。最後のレコードの後には改行はあってもなくてもいい。(␍はキャリッジリターン文字を意味し、␊はラインフィード文字を意味する。)
レコードは1つ以上の同じ個数のフィールドからなる。フィールドはコンマ「,」(U+002C) で区切られる。最後のフィールドの後にはコンマは付けない。
日本国,東京都,127767944␍␊アメリカ合衆国,ワシントン特別区,300007997␍␊
なお、最後のフィールドの後にはコンマはないので、もしレコードがコンマで終わっているように見えれば、実際はその後に空文字列(長さ0の文字列)からなるフィールドがある。次のレコードは、「日本国」「東京都」「」(長さ0の文字列)の3つのフィールドからなる。
日本国,東京都,␍␊
ファイルの先頭には、オプションとして、通常のレコードと同一の書式の「ヘッダ行」があってもいい。ヘッダ行は、他のレコードと同じ個数のフィールドを持ち、フィールドの名称が書かれている。