CSVファイルをExcelで開くと文字化けする原因と、ブラウザだけで直す方法
編集: BrowserTools.jp 2026-08-28
CSVファイルをExcelで開いたときに、日本語部分が意味不明な記号に化けてしまう——経理・事務作業でCSVを扱う方なら、一度は経験する定番のトラブルです。原因は難しいものではなく、文字コード(どの数値がどの文字に対応するかを決めるルール)の不一致によって起こります。
なぜ文字化けするのか
日本語でよく使われる文字コードには、主に2種類あります。ひとつはShift-JIS(SJIS)で、昔からの日本語Windows環境で標準的に使われてきました。もうひとつはUTF-8で、世界中の文字を扱える現在の主流の文字コードです。
CSVファイルを作った側の文字コードと、開く側(Excel等)が想定している文字コードが食い違うと、文字化けが発生します。特に、古い会計システムや一部の業務システムから出力されるCSVはShift-JISであることが多く、これをUTF-8前提のツールで開くと文字化けしやすいという相性問題があります。
もう1つの原因「BOM」
BOM(Byte Order Mark)とは、ファイルの一番先頭に付け加えられる、目には見えない数バイトの「印」のことです。名前の由来は、もともとUTF-16のように1文字を複数バイトで表す文字コードにおいて、バイトの並び順(上位バイトが先か、下位バイトが先か)をコンピュータに伝えるための仕組みだった、という点にあります。
UTF-8はバイトの並び順に曖昧さがない文字コードのため、本来BOMは不要です。しかし「このファイルはUTF-8で書かれています」という目印として、慣習的にBOM(16進数でEF BB BFにあたる3バイト)を先頭に付ける場合があります。Excelでcsvを保存する際に文字コードとして「UTF-8」を選ぶと、まさにこの3バイトが自動的にファイル冒頭へ付与されます。
このBOMは画面上には何も表示されないため一見気づきませんが、BOMの存在を想定していないプログラムがファイルを読み込むと、本来は見えないはずのこの3バイトが、1列目の項目名の先頭にくっついた文字として扱われてしまいます。たとえば「日付」という列名なのに、プログラム内部では別の文字列として認識され、「『日付』という列が見つからない」といった不具合につながることがあります。ツールによっては、このBOMが引用符の解釈自体を狂わせ、データの区切り位置が崩れて見えるケースもあります。
対処法
文字化けを直す確実な方法は、ファイルの文字コードを正しく判定し直してから開くことです。Excel側で「データの取得と変換」機能を使い文字コードを指定して読み込み直す、あるいはテキストエディタで文字コードを変換してから開く、といった対応が考えられます。
とはいえ、ファイルごとに文字コードを見極めて手動で変換するのは手間がかかりますし、一部の行だけ文字コードが異なる「混在エンコーディング」のファイルでは、単純な一括変換では直しきれないこともあります。
目的別に使えるツール
当サイトのCSV関連ツールは、アップロードされたファイルをまずUTF-8として読み込み、文字化けを検知した場合は自動的にShift-JISとして再読み込みする仕組みを備えています。BOMの除去も自動で行われるため、文字コードを意識せずにそのままご利用いただけます。ファイルはサーバーへ送信されず、ブラウザ内の処理だけで完結するため、取引先情報や金額などが含まれるCSVでも安心してお使いいただけます。
ExcelファイルとCSVを相互に変換したいときは、Excel・CSV相互変換ツールが変換と同時に文字コードの問題も解消してくれます。
文字化けした行や重複行をまとめて整理したい場合は、CSVデータクレンジング・重複除去ツールにかけると、データを一括で整えられます。
Excel風の画面でCSVの中身を直接確認・編集したいときは、CSVファイルエディタが便利です。
文字コードが違う2つのCSVファイルの中身を見比べたいときは、CSV比較・差分チェックツールで差分だけを確認できます。
システム連携のためCSVをJSON形式に変換したい場合は、CSV⇔JSON変換ツールでそのまま変換できます。
まとめ:原因さえ分かれば対処は難しくない
CSVの文字化けは、Shift-JISとUTF-8の不一致、そして目に見えないBOMという、2つの原因のどちらか(あるいは両方)で起きています。仕組みが分かれば、慌てて手動で文字コードを試行錯誤する必要はありません。ファイルの中身を外部に送信することなく、その場で確認・修正できる方法として、ぜひお試しください。