本文へスキップ
ToolDesk

CSV が Excel で文字化けする原因と直し方(UTF-8・Shift_JIS・BOM)

更新日 2026-09-01

CSV を Excel(ダブルクリック)で開いたら日本語が「譁�喧縺�」のような記号に化けた——これは非常に多いトラブルです。原因はほぼ一つ、「保存したときの文字コードと、Excel が読もうとした文字コードが食い違っている」ことです。仕組みを押さえれば、直し方も予防策もシンプルです。

なぜ化けるのか(原因)

文字コードとは、文字をバイト(数値)に対応させる方式のことです。日本語 CSV でよく使われるのは UTF-8 と Shift_JIS の 2 つ。同じ「あ」でもバイト列は方式ごとに異なり、UTF-8 では 3 バイト、Shift_JIS では 2 バイトになります。UTF-8 で保存したファイルを Shift_JIS として読むと、バイトの区切りがずれて意味不明な記号に化けます。これが文字化け(mojibake)です。

「BOM 付き UTF-8」が鍵

Windows 版の Excel は、ダブルクリックで CSV を開くとき、既定で Shift_JIS 系として解釈しがちです。そのため UTF-8 の CSV がそのままだと化けます。対策として広く使われるのが「BOM(バイトオーダーマーク)」です。ファイルの先頭に「これは UTF-8 です」という目印(3 バイト)を付けると、Excel が UTF-8 と認識して正しく開けるようになります。多くのツールの「UTF-8(BOM 付き)で保存」がこれにあたります。

今すぐできる直し方

  • Excel の「データ」→「テキストまたは CSV から」でインポートし、文字コードに「65001: Unicode (UTF-8)」を指定して開く(ダブルクリックせずインポートするのが確実)。
  • Google スプレッドシートで開く → 文字コードを自動判定してくれることが多く、そこから Excel 形式で保存し直す。
  • テキストエディタ(VS Code など)でファイルを開き、文字コードを「UTF-8 with BOM」で保存し直してから Excel で開く。
  • 元データを作る側で「UTF-8(BOM 付き)」または Shift_JIS で書き出す。

予防策(作る側で決める)

配布先が Windows の Excel 中心なら、BOM 付き UTF-8 か Shift_JIS で書き出すと開いた瞬間に正しく表示されます。ただし Shift_JIS は絵文字や一部の文字を表せないため、幅広い文字を含むなら BOM 付き UTF-8 が無難です。システム間の連携用途では、BOM なしの素の UTF-8 が標準的なので、「人が Excel で開く用」と「システムが読む用」で使い分けると安全です。

文字化けと「区切りのズレ」は別問題

文字が化けるのは文字コードの問題ですが、列がずれる・改行で崩れるのは別の原因(区切り文字や引用符の扱い)です。値にカンマや改行が含まれる場合は、その値をダブルクォートで囲む(RFC 4180)必要があります。文字化けが直っても列がずれるときは、区切り文字と引用符を見直してください。

当サイトの CSV⇔JSON 変換ツールはブラウザ内で動き、区切り文字(カンマ・タブ・セミコロン)やヘッダー行の有無を選べます。文字コードの仕組みをさらに詳しく知りたい場合は、文字数の数え方(バイト・コードポイント・書記素)のガイドもあわせてご覧ください。