› ツール一覧 › CSV Excel崩れチェッカー
TOOL

ExcelでCSVが壊れる

先頭の0が消える、1-2 が1月2日になる、16桁の番号が丸まる。
ダブルクリックする前に、変わるセルを洗い出します。

CSVを確かめる 壊さない渡し方 なぜ壊れるのか よくある質問

CSVをExcelでダブルクリックして開くと、Excelは「数字に見えるもの」を数値に、「日付に見えるもの」を日付に変えてしまいます。会員番号の先頭の0、郵便番号、型番の「SEPT2」、16桁のカード番号。しかもそのまま上書き保存すると、変わったあとの値でCSVが書き戻されます。このツールは、日本語版のExcelで実測した規則でセルを1つずつ判定し、開いたときの見え方と、保存したときに書き戻される文字を並べます。ファイルの中身はどこにも送りません。

CSVを確かめる

貼り付けるか、ファイルを選んでください

壊さない渡し方

作る側と、受け取って開く側でできること

受け取って開く側:ダブルクリックしない

Excelの「データ」タブ →「テキストまたはCSVから」で読み込み、「データの変換」で番号や郵便番号の列の型をテキストにしてから読み込みます。これなら先頭の0も16桁の番号も残ります。文字コードもこの画面で選べます。

作る側:UTF-8ならBOMを付ける

日本語を含むCSVをUTF-8で書き出すときは、先頭にBOMを付けます。付けないと、日本語版のExcelはShift_JISとして読んで文字化けします。

作る側:="00123" は受け取る相手しだい

="00123" と書くとExcelでは0が残りますが、Excel以外のシステムで読むとそのまま ="00123" という文字になります。"00123" とクォートで囲むだけでは残りません。'00123 も CSVでは効かず、' ごと表示されます。

作る側:=・+・-・@ で始まる値に気をつける

利用者が入力した文字をそのままCSVに書き出すと、= で始まる値が数式として実行されます(CSVインジェクション)。書き出すときに先頭へ ' を付ける、または該当する値を弾くなど、仕様で決めておきます。

なぜ壊れるのか

CSVには「この列は文字」という情報がありません。だからExcelは、セルごとに中身を見て、数値や日付に読めるものを親切に変換します。人が手で入力するときには便利なこの動きが、システムから書き出した番号やコードには裏目に出ます。

厄介なのは、壊れたことに気づきにくいことです。0が消えた会員番号も、1月2日になったサイズ表記も、見た目はそれらしく並んでいます。そして「開いて、少し直して、上書き保存」をした瞬間に、CSVそのものが壊れた値で書き換わります。12桁以上の番号は 1.23457E+11 という文字で保存され、元には戻せません。

このツールの判定は、日本語版Excelで162通りの値を実際に開き、見え方・列の幅そのままの見え方・上書き保存で書き戻される文字を記録して作りました。161通りで一致しています。規則にない形の値は「文字のまま」と推定しています。文字化けそのものの原因調べは 文字化け再現ビューア、実例は CSVの先頭ゼロが消える に書いています。

よくある質問

"00123" のようにダブルクォートで囲めば、先頭の0は残りますか?+
残りません。日本語版Excelで実測したところ、"00123" と囲んでも 123 になりました。クォートは「カンマや改行を含む値をひとまとまりにする」ための書き方で、文字として扱わせる効果はありません。CSVのままで0を残したいときは ="00123" と書く方法がありますが、Excel以外のシステムで読むとそのまま ="00123" という文字になるので、受け取る側と相談してから使ってください。
12桁以上の番号が 1.23457E+11 になりました。列の幅を広げれば戻りますか?+
表示は戻りません。9〜11桁の数字は列の幅が狭いあいだだけ指数表記に見えますが、12桁以上は幅を広げても指数表記のままです。しかもそのまま上書き保存すると、CSVには 1.23457E+11 という文字で書き戻され、元の数字は失われます。16桁以上の番号(カード番号など)は、開いた時点で16桁目から先が0になります。
先頭に ' (アポストロフィ)を付ければ文字として扱われますか?+
CSVでは効きません。Excelのセルに手で入力するときの ' は文字扱いの合図になりますが、CSVの中に '00123 と書くと、' ごと「'00123」という文字として表示されました。
どのExcelで確かめた結果ですか?+
2026年9月に、日本語版のExcel(バージョン16、Windowsの地域設定は日本)でCSVを開き、162通りの値について見え方と上書き保存したときの結果を実測しました。そのうち161通りがこのツールの判定と一致しています。Mac版や英語版のExcel、地域設定がちがう環境では日付の読み方などが変わることがあります。
文字化けはなぜ起きるのですか?+
日本語版のExcelは、先頭にBOM(UTF-8の目印)がないCSVをShift_JISとして読むためです。「名前」が「蜷榊燕」のように化け、化けた部分でカンマが飲み込まれて列がずれることもあります。UTF-8で書き出すときはBOMを付けるか、Shift_JISで書き出してください。
CSVの中身はサーバーに送られますか?+
送られません。ファイルの読み込みも判定もブラウザ内(あなたの端末上)で行っていて、サーバーには何も送信していません。顧客データのCSVでもそのまま確認できます。

文字化けの原因調べは 文字化け再現ビューア、CSVに入れる意地悪なテストデータは 意地悪テストデータ生成器、指定サイズのCSVファイルが欲しいときは ダミーファイル生成ツール をどうぞ。