CSVの文字化けを30秒で直す!Shift-JIS⇔UTF-8変換の全手順【Windows/Mac対応】

会計ソフトやECサイトの管理画面からダウンロードしたCSVファイルをExcelで開いたら、全部「繧ア繧ォ繧ォ」のような謎の文字に……。この文字化け、原因はShift-JISとUTF-8の文字コードの不一致です。直し方自体は簡単で、メモ帳だけで30秒もあれば解決できます。

この記事では、Windows・Mac別にCSVの文字化けを直す具体的な手順を解説します。変換時にデータが壊れるのを防ぐ注意点や、毎回手動で変換しなくて済む方法もまとめました。

CSVの文字化けを今すぐ直す3つの方法

文字化けしたCSVを手元で直す方法は、大きく3つあります。どれもインストール不要で、すぐ試せます。

メモ帳で文字コードを変換する(最速・Windows)

Windowsなら、メモ帳だけで文字コード変換が完了します。所要時間は30秒ほどです。

手順:

  1. 文字化けしたCSVファイルを右クリック →「プログラムから開く」→「メモ帳」を選択
  2. メモ帳で開くと、多くの場合は日本語が正しく表示されます(メモ帳は文字コードの自動判定を試みます)
  3. 「ファイル」→「名前を付けて保存」をクリック
  4. 保存ダイアログの下部にある「文字コード」を確認します
  5. Excelで開きたい場合: 「UTF-8(BOM付き)」を選択して保存
  6. 保存したファイルをExcelで開き直す

注意: Windows 11のメモ帳はUTF-8をデフォルトとして扱うため、Shift-JISのCSVを開いた際に文字化けしたまま表示されることがあります。メモ帳で開いても文字化けしている場合は、「元のファイル」が別の文字コードを使っている可能性があります。その場合は次の「Excelのデータ取り込み機能」を試してください。

操作前に必ずやること: 元のCSVファイルをコピーしてバックアップを取ってください。「名前を付けて保存」で別名にするか、事前にファイルを複製しておけば安心です。

Excelの「データ取り込み」機能で開く(文字コード指定)

ExcelにはCSVの文字コードを指定して読み込む機能があります。ダブルクリックで開いて文字化けする場合でも、この方法なら正しく表示できます。

手順:

  1. Excelを起動し、空のブックを開く
  2. 「データ」タブ →「テキストまたはCSVから」をクリック
  3. 文字化けしているCSVファイルを選択
  4. プレビュー画面が表示されたら、「元のファイル」のドロップダウンで文字コードを切り替える
  5. UTF-8のCSVの場合: 「65001: Unicode (UTF-8)」を選択
  6. Shift-JISのCSVの場合: 「932: 日本語 (Shift-JIS)」を選択
  7. プレビューで日本語が正しく表示されていることを確認 →「読み込み」をクリック

ファイルの文字コードがわからなくても大丈夫です。プレビュー画面でエンコードを切り替えるたびに表示が更新されるので、日本語が正しく見える設定を探せばOKです。

Googleスプレッドシートにアップロードする(Excel不要)

Excelを持っていない場合や、最も手軽に済ませたい場合はGoogleスプレッドシートが便利です。

手順:

  1. Googleドライブにアクセス
  2. CSVファイルをドラッグ&ドロップでアップロード
  3. アップロードされたファイルを右クリック →「アプリで開く」→「Googleスプレッドシート」を選択

(ファイルをダブルクリックするとプレビュー表示になる場合があります。その場合は画面上部の「Googleスプレッドシートで開く」をクリックしてください)

  1. 文字化けせずに表示されることを確認

GoogleスプレッドシートはUTF-8を自動認識するため、UTF-8のCSVならそのまま正しく開けます。ただし、Shift-JISのCSVは文字化けする場合があります。その場合は先にメモ帳でUTF-8に変換してからアップロードしてください。

Excelで使いたい場合は、Googleスプレッドシートの「ファイル」→「ダウンロード」→「Microsoft Excel (.xlsx)」でダウンロードすれば、文字化けの心配なくExcelで開けます。

Macでの文字化け解消手順

MacはWindowsと使えるツールが異なります。テキストエディタかターミナルで対応できます。

テキストエディット/CotEditorで変換する

Macに標準搭載されている「テキストエディット」でも文字コード変換は可能です。ただし、操作がやや煩雑なので、無料アプリ「CotEditor」のほうがおすすめです。

CotEditorを使う場合:

  1. CotEditor(Mac App Storeから無料でインストール可能)でCSVファイルを開く
  2. CotEditorは文字コードを自動検出し、ウィンドウ下部に現在の文字コードが表示されます
  3. ツールバーの文字コード表示部分をクリック →「UTF-8」または「Shift-JIS」を選択
  4. 「名前を付けて保存」で保存

CotEditorは文字コードの自動検出精度が高く、変換操作も直感的です。CSVを頻繁に扱うMacユーザーなら入れておいて損はありません。

ターミナルのiconvコマンドで一発変換する

ターミナル操作に抵抗がなければ、iconvコマンドが最も確実です。複数ファイルの一括変換にも使えます。

Shift-JIS → UTF-8に変換する場合:

iconv -f SHIFT_JIS -t UTF-8 input.csv > output_utf8.csv

UTF-8 → Shift-JISに変換する場合:

iconv -f UTF-8 -t SHIFT_JIS input.csv > output_sjis.csv

Shift-JISに変換する際の注意: UTF-8にしか存在しない文字(一部の絵文字や機種依存文字など)が含まれている場合、変換が途中で止まることがあります。-cオプションを追加すると、変換できない文字をスキップして処理を続けます(スキップされた文字は欠落するため、変換後のファイルを必ず確認してください)。

iconv -f UTF-8 -c -t SHIFT_JIS input.csv > output_sjis.csv

複数ファイルを一括変換する場合:

for file in *.csv; do
  iconv -f SHIFT_JIS -t UTF-8 "$file" > "utf8_${file}"
done

-fが変換元の文字コード、-tが変換先の文字コードです。元ファイルは上書きされず、新しいファイルとして出力されるので安全です。

エラーが出る場合は、変換元の文字コード指定が間違っている可能性があります。-f SHIFT_JISで失敗したら-f UTF-8に変えてみてください。

方法別の比較と選び方

どの方法を使うか迷ったら、以下の表で判断してください。

方法 対応OS 手軽さ 大量ファイル データ外部送信リスク おすすめシーン
メモ帳 Windows ★★★ × (1件ずつ) なし 1〜2件のCSVを今すぐ直したい
Excelインポート Windows/Mac ★★☆ × (1件ずつ) なし 文字コードが不明で試行錯誤したい
Googleスプレッドシート どちらも ★★★ × (1件ずつ) あり(Googleサーバーに保存) Excelがない/Googleアカウントで管理したい
CotEditor Mac ★★★ × (1件ずつ) なし Macで手軽に変換したい
iconvコマンド Mac/Linux ★☆☆ ○ (一括可) なし 複数ファイルをまとめて変換したい
オンライン変換ツール(サーバー処理型) どちらも ★★☆ あり(機密データ注意) インストール不要で済ませたい
オンライン分析ツール(ブラウザ完結型) どちらも ★★☆ なし(ブラウザ内処理) 変換+集計を一括でこなしたい

ほとんどのケースではメモ帳(Windows)またはCotEditor(Mac)で十分です。定期的に大量のCSVを変換する必要がある場合だけ、iconvコマンドやツールの導入を検討してください。

文字化けが起きる原因をざっくり理解する

直し方がわかったところで、そもそもなぜ文字化けが起きるのかを簡単に整理しておきます。原因を知っておくと、同じトラブルの再発防止に役立ちます。

Shift-JISとUTF-8 — 2つの「翻訳表」のずれ

文字コードとは、パソコンが文字を数値に変換するときの「翻訳表」のようなものです。日本では長年Shift-JISが標準でしたが、インターネットの普及に伴い世界共通のUTF-8が主流になりました。

問題は、ExcelがいまだにShift-JISを既定として使っているのに対し、Webサービスやクラウドシステムの多くがUTF-8でCSVを出力している点です。この「翻訳表のずれ」が文字化けの正体です。

  • Shift-JIS: 日本語専用。Excelの既定。Windows環境で長い歴史がある
  • UTF-8: 世界中の言語に対応。Webの標準。Google系サービスはすべてUTF-8

つまり、UTF-8で書かれたCSVをShift-JISのルールで読もうとするから、文字が化けるわけです。

BOM(Byte Order Mark)の有無で変わるExcelの挙動

UTF-8にはBOM付きとBOMなしの2種類があります。BOM(Byte Order Mark) とは、ファイルの先頭に付く3バイトの目印(EF BB BF)で、「このファイルはUTF-8です」とアプリケーションに伝える役割があります。

  • BOM付きUTF-8: Excelがダブルクリックで正しく開ける
  • BOMなしUTF-8: ExcelがShift-JISと誤認し、文字化けする

多くのWebサービスはBOMなしUTF-8でCSVを出力するため、ダブルクリックで開くと文字化けが起きます。前述の「メモ帳で変換」の手順は、このBOMを付ける操作を行っています。

変換時にやりがちな3つの失敗と回避策

文字コード変換自体は簡単ですが、知らないとハマるポイントが3つあります。

元ファイルを上書きしてデータが消える

文字コード変換のつもりが、操作を誤ってファイルが空になったり、一部の文字が欠落したりするケースがあります。Shift-JISにない文字(一部の漢字や記号)をShift-JISに変換すると、該当文字が「?」に置き換わる場合もあります。

回避策: 変換前に必ずファイルをコピーしてバックアップを取る。「名前を付けて保存」で元ファイルと別名にする。これだけで、万一変換に失敗しても元データに戻せます。

先頭ゼロや日付が変わる(文字コード以外の落とし穴)

文字化けとは直接関係ありませんが、CSVをExcelで開くと同時に発生しやすいトラブルです。

  • 郵便番号「0120001」→「120001」(先頭のゼロが消える)
  • 電話番号「090-1234-5678」→「90-1234-5678」
  • 日付「2024-01-15」→「45306」(Excelのシリアル値に変換される)

これらはExcelが数値や日付を「勝手に」解釈してしまうために起こります。文字コード変換で直るものではないので注意してください。

回避策: Excelの「データ」→「テキストまたはCSVから」でインポートする際に、該当列のデータ型を「文字列」に設定してから読み込みます。ダブルクリックで開く方法ではこの設定ができないため、先頭ゼロが含まれるCSVは必ずインポート機能を使いましょう。

BOM付き/BOMなしの選び方を間違える

BOM付きUTF-8はExcelとの相性が良い反面、他のシステムでは問題を起こすことがあります。

用途 推奨する形式 理由
Excelで開く UTF-8(BOM付き) Excelが自動認識してくれる
プログラムで処理する UTF-8(BOMなし) BOMが余計なバイトとしてエラーの原因になる
他システムにインポートする UTF-8(BOMなし) BOMを想定していないシステムが多い
Shift-JISが指定されている Shift-JIS 受け取り側がShift-JISを要求している場合

迷ったら**「Excelで開くだけならBOM付きUTF-8」**と覚えておけば、ほぼ問題ありません。

毎回の手動変換から解放される方法

月次のレポートや売上データなど、定期的にCSVをダウンロードして開く業務がある場合、毎回メモ帳で変換するのは面倒です。根本的に解決する方法を2つ紹介します。

ExcelでUTF-8 CSVを標準保存する

Excel 2016以降では、CSVの保存形式に「CSV UTF-8(コンマ区切り)」が追加されています。

「ファイル」→「名前を付けて保存」→ ファイルの種類を「CSV UTF-8(コンマ区切り)(*.csv)」に変更して保存すれば、BOM付きUTF-8のCSVが作成されます。自分がCSVを作る側であれば、この形式で保存すれば相手先でも文字化けしにくくなります。

また、CSVの出力元がシステムの場合は、システム管理者や開発チームに「BOM付きUTF-8で出力してほしい」と依頼するのも有効です。出力元を変えてしまえば、受け取る側で毎回変換する手間がなくなります。

ブラウザ完結型のCSV分析ツールを使う

ブラウザ上でCSVの文字コードを自動判定しながら分析できるツールを使えば、ローカルでの変換作業が不要になります。

たとえばLeapRows(※筆者開発ツール)は、データをサーバーに送信せずブラウザ内で処理するCSV分析ツールです。CSVをドラッグ&ドロップするだけで文字コードを自動判定し、Shift-JISでもUTF-8でも文字化けなくデータを表示できます。エンコーディングを意識する必要がありません。

頻繁にCSVデータを分析・加工する業務であれば、こうしたツールの導入を検討する価値があります。文字コード変換だけでなく、フィルタリングや集計、ピボットテーブルの作成もブラウザ上で完結するため、Excelとの往復作業そのものを減らせます。

まとめ

CSVの文字化けは、ファイルの文字コード(Shift-JIS / UTF-8)とExcelの既定設定が食い違うことで起こります。

直し方の3ステップ:

  1. まずメモ帳(またはCotEditor)で開いてみる — 日本語が読めたら「名前を付けて保存」でUTF-8(BOM付き)に変換
  2. メモ帳でもダメならExcelのインポート機能 — 文字コードを切り替えながらプレビューで確認
  3. Mac/Linuxならターミナルのiconvコマンド — 一発で変換でき、複数ファイルの一括処理にも対応

変換作業の前には元ファイルのバックアップを忘れずに。先頭ゼロの消失やBOM付き/BOMなしの選び間違いにも気をつけてください。

毎回の手動変換をなくしたいなら、CSVの出力元をBOM付きUTF-8に統一するか、文字コードを自動判定してくれるブラウザ完結型ツールの活用がおすすめです。