エンコード
CSV エスケープ
CSV の 1 セルとして安全な形式に変換します。カンマ / 改行 / ダブルクォートを含む場合はフィールド全体をダブルクォートで囲み、内部のダブルクォートを二重 ("") にします (RFC 4180)。アンエスケープにも対応。
サンプル
直近の入力
全履歴 ·
履歴はあなたのブラウザにのみ保存されます。サーバーに送信されません。 設定
こんなときに使う
ユーザー入力を CSV に書き出す
問い合わせフォームの自由記述フィールドなど、改行やカンマを含む可能性がある値を CSV にエクスポートします。
ログを CSV 化して Excel で集計
サーバーログを CSV にしてエクセルで開く前に、メッセージ内のカンマや改行をエスケープ。Excel でセル分裂しません。
カンマ区切りでない地域への配慮
ヨーロッパでは ; 区切りが標準のことも。CSV の標準仕様としてダブルクォート + ダブルクォート二重化は同じです。
TSV にも応用
タブ区切りでも、フィールド内にタブが含まれる場合の扱いは似ています。本ツールはカンマ用ですが、改行とクォートのエスケープ規則は流用可。
ヘッダ行を作る
列名に ',' や ' ' が混ざる場合、ヘッダ行こそエスケープが必要です。
アプリログとの突合せで CSV を生成
DB クエリ結果を CSV エクスポートする前にフィールドエスケープして、DBA が Excel で確認しやすくします。
よくあるエラーと対処
ERR
Excel で開くと 1 行が複数行に割れる - 原因
- フィールド内の改行をエスケープせずに出力しています。
- 対処
- 改行を含むフィールドは必ずダブルクォートで囲んでください。本ツールが自動で行います。
ERR
ダブルクォートが " のまま 1 つしかない - 原因
- フィールド内のダブルクォートを二重化していません。
- 対処
- RFC 4180 では内部の " を "" に変換します。本ツールは自動で対応。
ERR
Excel で文字化け / 数値が日付化される - 原因
- CSV のエスケープとは別の問題。文字コード(UTF-8 BOM)や Excel の自動型推論が原因です。
- 対処
- 文字化けは「文字コード変換」ツールで Shift_JIS or UTF-8 BOM 付きに。日付化対策は値の先頭にシングルクォートを付けて文字列扱い。
ERR
区切り文字が ; なのに , でエスケープしてしまった - 原因
- 本ツールはカンマ区切り CSV 用。セミコロン区切りでエスケープが必要なのは ; が含まれる場合です。
- 対処
- セミコロン区切りなら , 内包はクォート不要。改行・クォート・; がある場合のみクォート必要。
CLI / 他言語でやる方法
Python csv モジュール
python -c "import csv, sys; w = csv.writer(sys.stdout); w.writerow(['a,b', 'c\nd'])" csv.writer がエスケープを自動化。dialect で区切り文字や引用ルールを変更可能。
Node.js (csv-stringify)
node -e "const s = require('csv-stringify/sync'); console.log(s.stringify([['a,b','c\nd']]))" csv-stringify はストリーム / 同期版両対応。
jq
jq -r '@csv' JSON 配列を CSV 行に変換。エスケープも含めて RFC 4180 準拠。
よくある質問
▶ RFC 4180 と Excel CSV は同じ?
ほぼ同じですが Excel は方言があります(地域によって区切りが ; 等)。エスケープルール("..." で囲み内部 " を "" に)は共通です。
▶ 値にダブルクォートが 1 個だけある場合
フィールド全体をダブルクォートで囲み、内部のダブルクォートを 2 個に複製します(" → "")。
▶ 値が空の場合は?
空のフィールドはそのまま空(空欄)として書きます。クォートで囲む必要はありません。",,a" は 3 列で 1 列目と 2 列目が空。
▶ 文字コードはエスケープと関係ある?
ありません。文字コードは別レイヤーの問題です。エスケープは構文上の問題で、UTF-8 でも Shift_JIS でも同じルール。
▶ TSV(タブ区切り)でも使える?
タブ区切りでもエスケープ規則を採用するツールはあります。ただし TSV は仕様で「区切り文字をフィールドに含めない」前提のことも多く、エスケープ不要のケースも。受け取り側に合わせてください。
▶ 改行コードは CRLF と LF どちらを使う?
RFC 4180 では CRLF。Excel も CRLF を期待します。Linux ツール用なら LF でも動きますが、Excel 互換性のため CRLF が安全です。
▶ ヘッダ行のエスケープも必要?
必要です。列名に , や 改行 が含まれていれば同じ規則でエスケープしてください。
▶ サーバーに送信されますか?
送信されません。エスケープはブラウザ内の正規表現で完結します。