Comma-Separated Values (.csv)

RFC 標準

Comma-Separated Values (CSV) is a ubiquitous plain-text format for tabular data, where each line represents a data record and fields are separated by delimiter characters.

XLSX を CSV に変換

無料のブラウザ内 XLSX から CSV へのコンバーター。お使いのデバイスでファイルを即座に変換します。

CSVをオンラインで圧縮

ブラウザ内100%ローカル圧縮 — ファイルが外部サーバーに送信されることはありません

調査とメタデータ

オペレーティングシステムやファイル解析ツールは、先頭のバイナリバイトシーケンスを検査することで CSV ファイルを識別します:

ファイルを選択またはドラッグ

ここにファイルを選択またはドロップ

100%プライベートなブラウザ内変換 - ファイルがデバイスから外部に出ることはありません

または貼り付け Ctrl+V
ネットワーク送信ゼロのプライバシー保証: 外部サーバーへのデータ送信は0バイトです。すべての処理はお使いのブラウザのサンドボックス内でローカルに実行されます。

バイトレベルのヘッダーシグネチャ (マジックバイト)

オペレーティングシステムやファイル解析ツールは、先頭のバイナリバイトシーケンスを検査することで CSV ファイルを識別します:

16進数シグネチャ (オフセット 0):

Plain Text

ASCII表現: ASCII / UTF-8

標準化: RFC 4180 / IETF

技術仕様

コンテナアーキテクチャDelimited flat text file representing tabular data rows and columns
圧縮Gzip / Deflate achieves 85%-95% compression on repetitive tabular records
バイトエンディアンUTF-8 text stream (optional UTF-8 BOM EF BB BF used by Excel)
色空間Not applicable
チャンネルと構造Row records delimited by CRLF with columns delimited by commas
最大寸法Unbounded; streamable to gigabytes without loading entire file in memory
透過性Not applicable
ストリーミングとプログレッシブNative line-by-line stream processing supported by all data pipelines

技術比較マトリックス: CSV 対 競合製品

技術属性CSV (現在)Excel (XLSX)ParquetJSON
File TypePlain text flat tableZipped XML spreadsheetBinary columnar storageHierarchical text
Multiple SheetsNo (single flat table only)Yes (multiple workbooks and sheets)Partition-based storageNested arrays and objects
Data TypesUntyped raw textTyped cells, formulas, formattingStrict binary column typesPrimitive types (string, number, bool)
Big Data AnalyticsSlow (requires reading every row linearly)Not suitable for big dataUltra-fast (column pruning & predicate pushdown)Moderate

一般的な破損モードと16進数リカバリガイド

⚠️ Columns shift to the right or row counts do not match.

根本原因: A text field containing an unescaped comma without surrounding quotation marks.

復旧: RFC 4180 requires fields containing commas to be wrapped in double quotes: "Smith, John".

⚠️ Accented characters render as strange symbols (mojibake like é instead of é) in Excel.

根本原因: Excel opened a UTF-8 CSV assuming the legacy Windows ANSI/CP1252 character encoding.

復旧: Prepend the 3-byte UTF-8 Byte Order Mark (0xEF 0xBB 0xBF) to the beginning of the file.

セキュリティ分析とパーサー攻撃ベクトル

CSV files open directly in spreadsheet software like Excel and Google Sheets, exposing users to Formula Injection (CSV Injection) attacks.

既知の攻撃ベクター

  • Formula Injection: Cells starting with '=', '+', '-', or '@' executing spreadsheet macros or DDE commands (e.g. '=cmd|' /C calc'!A0').
  • Data exfiltration via HYPERLINK() formulas sending sensitive cell data to remote attacker servers upon click.

防御的ベストプラクティス: When exporting user data to CSV, prepend a single quote (') or tab to any cell starting with '=', '+', '-', or '@' to force plain text rendering in Excel.

歴史的背景とマイルストーン

2005IETF publishes RFC 4180, establishing the formal specification for CSV files.
1972IBM Fortran (H Extended) compiler implements comma-delimited input/output.

主な利点とメリット

  • Maximum simplicity: readable in any text editor and importable into every database and spreadsheet.
  • Extremely fast line-by-line streaming without building a full in-memory DOM.
  • Minimal overhead: no verbose tag syntax or schema definitions.

技術的な制限とデメリット

  • No standard data types: numbers, dates, booleans, and text are all stored as raw strings.
  • No support for multiple sheets, cell formatting, formulas, or metadata.
  • Delimiter conflicts (commas inside text, decimal commas in European locales) cause frequent parsing bugs.

興味深い技術トリビア

  • In many European countries where commas are used as decimal points, semicolons (;) are used instead of commas as CSV separators.
  • Microsoft Excel historically required a UTF-8 BOM (0xEF 0xBB 0xBF) to correctly display non-ASCII accented characters.

よくある技術的な質問

What is RFC 4180?

RFC 4180 is the official IETF standard for CSV. It mandates that fields containing commas, line breaks, or double quotes must be enclosed in double quotes, and internal quotes must be escaped by doubling them ("").

Why do CSV files open with corrupted characters in Excel?

Older versions of Microsoft Excel default to the local Windows code page (like Windows-1252) rather than UTF-8 when opening CSV files directly. Adding a UTF-8 BOM (Byte Order Mark) at the start of the file forces Excel to decode UTF-8 correctly.