TegaruTools
テキストガイド

CSVをExcelで開くと文字化けする原因と直し方 | UTF-8とBOMを理解する

システムからダウンロードしたCSVをExcelで開くと日本語が文字化けする——その原因は、ファイルの文字コードとExcelの仕様のすれ違いです。ファイル自体を直す方法、Excel側で取り込む方法、メモ帳で直す応急処置まで、場面別の直し方と予防策を整理します。

公開: 2026年7月9日更新: 2026年7月11日読了 約8TegaruTools

会計ソフトや通販の管理画面、アンケートツールなどからダウンロードしたCSVを、Excelでダブルクリックして開いたら、日本語がまるで暗号のように化けていた——よくあるトラブルです。名前や住所が「?」や見慣れない記号の羅列になり、使いものにならない。

結論から言うと、そのファイルは壊れていません。原因はハッキリしていて、直し方も決まっています。この記事では、なぜExcelだけで化けるのかという仕組みと、ファイル自体を直す方法・Excel側で取り込む方法・応急処置の3通り、そして次から化けさせない予防策までを整理します。

文字化けの正体:ファイルは壊れていない

文字化けは、ファイルが破損して起きるものではありません。多くの場合、文字コードの取り違えが原因です。

コンピューターは文字を数値(バイト)で記録します。そのとき「どの数値がどの文字か」を決めた対応表が文字コードです。日本語のCSVでよく使われるのは UTF-8Shift_JIS の2種類。同じ「山田」という文字でも、UTF-8とShift_JISでは記録されるバイトの並びが違います。

つまり、UTF-8で保存されたファイルを、Shift_JISの対応表で読もうとすると、数値の並びが別の文字として解釈され、意味不明な記号になります。これが文字化けです。ファイルの中身(バイト)はそのままで、読み方だけがずれている状態なので、正しい文字コードで開き直せば元どおり読めます。仕組みをもう少し詳しく知りたい方は 文字コードと文字化けの基礎 もあわせてどうぞ。

Shift_JISのCSVを誤ってUTF-8として読み込んだときのプレビュー。日本語が「����,����」のように文字化けしている

誤った文字コード(UTF-8として解釈)→ 文字化け

同じCSVを正しくShift_JISとして読み込んだプレビュー。「氏名,部署,内線」「山田太郎,営業部,1201」などが正しく表示されている

正しい文字コード(Shift_JIS)→ 正常に表示

同じCSVファイルを、違う文字コードとして解釈したときの実際の表示の違いです(本サイトの文字コード変換ツールのプレビュー画面で、Excelの画面ではありません)。文字化けはファイルの破損ではなく、読み方(文字コード)の取り違えで起きていることが分かります。

なぜExcelだけで化けるのか

「メモ帳やブラウザでは普通に読めるのに、Excelで開くと化ける」という経験はないでしょうか。これはExcelの仕様が関係しています。

最近のシステムが出力するCSVは、UTF-8であることがほとんどです。ところが、Windows版のExcelは、CSVをダブルクリックで開くとき、その中身を Shift_JISだと想定して読み込みます。UTF-8のファイルをShift_JISとして読むため、日本語が化けてしまうのです。

ここで鍵になるのが BOM(バイトオーダーマーク) です。BOMは、ファイルの先頭に付く「これはUTF-8です」という短い目印(3バイト)です。CSVの先頭にBOMが付いていると、ExcelはそれをUTF-8として正しく開きます。逆に言えば、BOMのないUTF-8のCSVが、Excelで化けやすいということです。

直し方①:ファイル自体をUTF-8(BOM付き)に変換する

いちばん確実で、次回以降も楽なのが、ファイル自体をBOM付きのUTF-8に変換してしまう方法です。ファイルの先頭にBOMを付けておけば、あとはダブルクリックで開くだけで、Excelが文字化けせずに開きます。

本サイトの 文字コード変換ツール は、CSVを読み込むと文字コードを自動で判定し、プレビューで中身を確認したうえで「UTF-8(BOM付き)」に変換して保存できます。ファイルはサーバーに送信されず、すべてブラウザ内で処理されるため、顧客名簿のような個人情報を含むCSVでも安心して使えます。

一度変換してしまえば、そのファイルは以降ずっとダブルクリックで開けます。同じ形式のCSVを繰り返し扱うなら、この方法がもっとも手間がかかりません。

直し方②:Excelの「データ」タブから取り込む

ファイルを書き換えたくない、元のファイルはそのまま残したい、という場合は、Excel側で文字コードを指定して取り込む方法があります。

  • Excelを起動し、空のブックを開きます。
  • 「データ」タブ →「テキストまたはCSVから」を選びます。
  • 対象のCSVファイルを選ぶと、プレビュー画面が開きます。
  • 「元のファイル」の欄で文字コード(「65001: Unicode (UTF-8)」など)を選ぶと、プレビューの文字化けが直ります。
  • 正しく表示されたら「読み込み」を押します。

この方法なら、ファイルを変換せずに正しく開けます。ただし、CSVを開くたびにこの手順が必要です。たまに開くだけならこれで十分ですが、毎回となると手間なので、その場合は直し方①でファイル自体を変換しておくほうが楽です。

直し方③:メモ帳でBOM付きに保存し直す(応急処置)

追加のツールを使わず、Windowsだけで完結させたいときの応急処置もあります。Windows標準のメモ帳を使う方法です。

  • 化けているCSVを、メモ帳で開きます(メモ帳はUTF-8を正しく読めるので、ここでは文字化けしません)。
  • 「ファイル」→「名前を付けて保存」を選びます。
  • 文字コードの欄で「UTF-8 (BOM付き)」を選んで保存します。

これでBOMが付いたUTF-8ファイルになり、Excelで開けるようになります。ただし、メモ帳はCSVの列や引用符を意識せずテキストとして扱うため、複雑なデータでは意図せず内容が変わることもあります。件数の多い業務データでは、直し方①のように文字コード変換に対応したツールを使うほうが安全です。

逆パターン:古いシステムに渡すCSVをShift_JISにする

ここまでは「UTF-8をExcelで読めるようにする」話でしたが、逆に、UTF-8のCSVを Shift_JIS にしたい場面もあります。古い業務システムや、Shift_JISを前提とした入稿先へCSVを渡すケースです。

このとき注意したいのが、Shift_JISでは表現できない文字があるという点です。絵文字や一部の環境依存文字(丸囲み数字など一部)はShift_JISに存在せず、変換すると「?」などに置き換わってしまいます。 文字コード変換ツール では、Shift_JISへの変換時に置き換わる文字の件数を事前に表示するので、大事な文字が失われないか確認してから保存できます。相手がUTF-8を受け付けるなら、無理にShift_JISにしないほうが安全です。

次から文字化けさせないための予防策

毎回直すのは面倒です。根本的に減らすには、次のような工夫が有効です。

  • 出力時に文字コードを選べるなら選ぶ:システムによっては、CSVをダウンロードするときに「UTF-8(BOM付き)」や「Shift_JIS」を選べます。開く相手がExcelなら、最初からBOM付きで出力しておきます。
  • 受け渡しのルールを決める:社内やチームでCSVをやり取りするなら、「ExcelならBOM付きUTF-8」と決めておくと、そのつど悩まずに済みます。
  • 取り込み側の手順を共有する:直し方②の手順を関係者に共有しておけば、化けても各自で対処できます。

まとめ

  1. 文字化けはファイルの破損ではなく、文字コードの取り違えで起きる。
  2. Windows版ExcelはBOMなしUTF-8をShift_JISとして開くため化ける。
  3. いちばん楽なのは、ファイルをUTF-8(BOM付き)に変換しておくこと。
  4. ファイルを変えたくないなら、Excelの「データ」タブから文字コードを指定して取り込む。
  5. 古いシステム向けにShift_JISへ変換するときは、失われる文字に注意する。

CSVの文字化けを直したいときは、 文字コード変換ツール をお試しください。文字コードの自動判定とプレビューで、化けていないか確認しながらUTF-8(BOM付き)やShift_JISに変換できます。変換したCSVの中身をさらに整理したいときは CSV ⇔ JSON 変換 文字数カウント もあわせてどうぞ。

この記事で紹介したツール

関連するガイド記事