コンテンツにスキップ

🧹 CSV クリーナー

CSV / TSV を貼り付けるだけで、重複行削除・ソート・空行削除・セルの trim・ヘッダ正規化・列抽出・改行コード統一を一括処理。RFC 4180 のクォートにも対応します。

完全無料 登録不要 ブラウザ完結 5 言語対応 ダークモード

🔒 プライバシーについて

⚙️ 入力設定

🧹 クリーニングオプション

列番号 (1 始まり) または ヘッダ名をカンマ区切り

指定した列のみを出力します

📖 つまずきやすいポイント

貼り付けた CSV / TSV に対して、重複行削除・空行削除・セルの trim・ヘッダの snake_case 化・列抽出・ソート・改行コード統一をまとめて実行します。RFC 4180 のクォート (フィールド内のカンマ・改行・二重引用符) を正しく解釈します。処理はブラウザ内で完結し、データは送信されません。ただしこのツールはテキストとして処理するので、値の「意味」は分かりません007 が郵便番号なのか数値なのか、2025/03/04 が 3 月 4 日なのか 4 月 3 日なのかは判定できません整形は正しく通るのに中身が壊れるのは、たいていこの境目で起きます。

ケース 何が起きるか どうする
区切り文字とクォートの取り違え 自動判定は先頭付近の出現数で決めるので、本文にカンマを多く含む列があると外します。特に注意が要るのがヨーロッパ圏のエクスポートで、小数点にカンマを使う地域では区切り文字がセミコロンになっています — これをカンマとして読むと 1 列にまとまってしまいます。もうひとつ厄介なのがクォート内の改行です。RFC 4180 では引用符で囲まれたフィールドに改行を入れてよいので、「1 行」と「1 レコード」は一致しません行数だけで検算すると必ず合いません。さらに、バックスラッシュでエスケープする独自方言 (一部の DB のエクスポート) は RFC 4180 ではないので、正しく分割できません。 自動判定に任せず、区切り文字を明示的に選んでください。 そのうえで検算は「列数」で行います — 整形後にヘッダの列数と各行の列数が一致していれば、分割は成功しています。1 行だけ列数が違うという状態は、ほぼ確実にその行のクォートが閉じていないことを意味します (元データの生成側のバグです)。バックスラッシュ方言の場合は、ここに貼る前に csvkit や表計算ソフトで一度 RFC 4180 形式に変換してください。そして最初にやるべきは、変換前後で行数と列数を控えておくことです — 件数が変わっていないことの確認だけは、目視でも必ずやってください
重複削除は「文字列として同じ」しか見ない 比較は文字列の一致で行われるため、人間には同じに見える行が別物として残ります: 末尾に空白のある行、全角と半角が混じった行、大文字小文字が違う行、03-1234-567803123456782025-01-052025/1/5。逆に、trim を先にかけると、それまで別物だった行が重複になりますつまり処理の順序で結果の件数が変わります。もうひとつ重要なのがどちらの行が残るかで、このツールは先に出てきた行を残し、後から出てきた行を捨てます更新日時順に並んだデータをそのまま重複削除すると、古いほうが残ります 「正規化してから重複削除」という順序を固定してください。 このページなら trim を有効にしたうえで重複削除を実行します。全角半角や大文字小文字が混じるなら、先に 全角半角変換大文字小文字変換 を通してから戻してください。残したい行を選ぶには、まずソートしてから重複削除します — 更新日時の降順に並べておけば、新しいほうが残ります。そして「重複判定列」を使ってください: 完全一致ではなく emailid のような本来キーであるべき列だけで判定すれば、他の列のゆらぎに引きずられません
きれいな CSV が Excel で開いた瞬間に壊れる ここで出力した CSV は正しくても、ダブルクリックで Excel に開かせると内容が書き換わります。よく起きるのは 4 つ。先頭の 0 が消える (0077、郵便番号・社員番号・電話番号)。日付として解釈される (1-21月2日、遺伝子名 MARCH1 が日付になる問題は学術界で改名にまで発展しました)。16 桁を超える数字が丸められる (クレジットカード番号や一部の ID が末尾 0 になる)。そして BOM の無い UTF-8 が文字化けするこのツールは BOM を付けませんので、Windows 版 Excel では日本語が化けます。いずれも「保存し直す」と、壊れた状態がファイルに定着します。 ダブルクリックで開かないでください。 Excel なら データ > テキストまたは CSV から を使い、問題になる列の型を「テキスト」に指定してから読み込みます。これが唯一確実な方法です。相手が Excel で開くと分かっているファイルを配るなら、UTF-8 BOM 付きで書き出してください — このページの出力を保存したあと、エディタで「UTF-8 (BOM 付き)」を指定して保存し直すのが手軽です。そもそも ID や電話番号を CSV でやり取りしないという判断も有効で、相手が Excel を使うなら .xlsx で渡すほうが安全です — 型が保存されるので、開いても書き換わりません

ヘッダの snake_case 化は「元の名前を捨てる」操作です。日本語のヘッダや記号を含むヘッダは変換後に元へ戻せませんDB に投入する直前に一度だけ実行し、元ファイルは必ず残してください。列の対応表 (元の名前 → 新しい名前) を控えておくと、後から「この列は何だったのか」を追えます。改行コードの選択も見た目には現れないので忘れがちです: Windows のツールに渡すなら CRLF、Unix 系のスクリプトや Git に載せるなら LF が既定です — 混在したまま Git に入れると差分が全行になります (詳細は 改行コード変換)。そして最後に、ブラウザ内処理なので、扱えるサイズは端末のメモリ次第です。数十 MB を超える CSV は、このページではなく csvkitxsvduckdb のようなコマンドラインツールを使ってくださいそれらはファイルを全部メモリに載せずに処理できます

📖 使い方

  1. 1
    CSV または TSV を貼り付け
    左側の入力欄にデータを貼り付けます。区切り文字は自動判定または手動で選択できます。
  2. 2
    クリーニングオプションを選ぶ
    重複削除・ソート・空行削除・列抽出など必要なオプションをチェックします。重複判定列やソート列は列番号またはヘッダ名で指定できます。
  3. 3
    結果をコピーまたはダウンロード
    右側に出力プレビューが表示されます。コピーボタンまたはダウンロードボタン (.csv / .tsv) で書き出せます。

❓ よくある質問

重複行はどう判定されますか?
既定では「行全体が完全一致」した行を重複と判定します。重複判定列を指定すると、その列の値が同じ行を重複として扱います。最初に現れた行を残します。
クォートで囲まれたカンマや改行は壊れませんか?
いいえ。RFC 4180 準拠のパーサーを使っているため、ダブルクォート内のカンマ・改行・エスケープ ("") もそのまま正しく扱います。
大きな CSV でも処理できますか?
処理はすべてブラウザ内で行われます。数万行までは快適に動きますが、極端に大きなファイルではブラウザが一時的に重くなることがあります。プレビュー表示は先頭 100 行に制限しています。
🐛 このツールで問題が発生しましたか?

完全無料・登録不要。再現手順だけでも結構です。届いたご報告は運営者に直接届き、修正の参考にします。

※ 不具合再現のため、ブラウザ情報 (UA / 画面サイズ / 言語 / URL) を自動で送信します