仕様と根拠
空欄と空白だけのセルの違い
0 文字のセルは空欄で、スペースが 1 つでも入っていれば空欄ではなく空白という値です。RFC 4180 の 2 節の規則 4 は、空白も欄の一部として扱い無視してはならないと定めているため、取り込み先によっては空白だけのセルが空欄と見なされず、必須項目のチェックをすり抜けます。
対象にする空白
半角スペース(U+0020)・全角スペース(U+3000)・タブ(U+0009)・NBSP(U+00A0)・改行(引用符の中のもの)だけで 1 文字以上あるセルを対象にします。ゼロ幅スペースなど見えない文字は対象外で、別の文字として残ります。前後に文字のあるセルの余分な空白(「 山田 」など)も対象外です。
W3C の trim との関係
W3C の表データの仕様では、dialect の trim でセルの前後の空白を取り除くかを指定でき、既定は取り除く設定です。取り除く設定のツールで読めば空白だけのセルは空になりますが、RFC 4180 のとおりに読むツールでは値のまま残るため、読む側によって空欄になったり値になったりする点を、この道具で先に確かめられます。
根拠にした仕様・資料
| 仕様・資料 | 確認日 | 使った箇所 |
|---|---|---|
| RFC 4180 Common Format and MIME Type for Comma-Separated Values (CSV) Files | 2026年10月28日 | 2 節の 4(空白は欄の一部であり無視してはならない)・5〜7(二重引用符) |
| W3C Model for Tabular Data and Metadata on the Web | 2026年10月28日 | 8 節の dialect の trim(セル周囲の空白を取り除くか。既定 true)と 6.4 節のセル値の空白の扱い |
指摘の段階
- エラー: 仕様に反していて、正しく読めない・処理できない入力です。
- 警告: 読めるものの、仕様の推奨に反する・矛盾する・意図と違う結果になりやすい入力です。
- 情報: 誤りではありませんが、知っておくとよい扱い(読み飛ばした部分や解釈)です。
入力の扱い(送信しない仕組み)
処理はすべてお使いのブラウザの中で行います。処理の本体はこのサイトから配信する小さなスクリプト(/app.js)で、外部のサービスやライブラリを読み込みません。ページはブラウザに通信を禁止させる設定(Content-Security-Policy の connect-src)つきで配信しており、入力した内容がサーバーや第三者へ送られることはありません。ファイルを選んだ場合も、端末の中で読み込むだけです。
このツールでできないこと(制約)
- 空欄(0 文字)のセルは一覧に含めません。0 文字を含めた空欄の数を知りたいときは、別の列チェックの道具で空欄を数えてください。
- ゼロ幅スペース(U+200B)など、見えない文字だけのセルは検出しません。
- 変換後の CSV は、空白だけのセルを空欄にし、引用符を必要な値(区切り文字・二重引用符・改行を含む値)にだけ付け直し、改行を LF にそろえます。元の引用符の付け方・改行コードは再現しません。
- ファイルは UTF-8 として読みます。Shift_JIS の CSV は文字化けするため、UTF-8 として保存し直してから使います。
ご利用にあたって
- 検出は貼り付けた CSV の文字だけにもとづきます。取り込み先のシステムが空白をどう扱うかは、そのシステムの仕様で確認してください。
- 大きなファイルはお使いの端末の性能によって処理に時間がかかることがあります。