← チェッカーへ戻る

UTF-8 BOMあり・なしの違い

UTF-8のBOMは、ファイル先頭に置かれる3バイトEF BB BFです。Unicode上ではU+FEFFに対応し、読み込み側がUTF-8だと判断する手掛かりになります。UTF-8自体の文字表現にBOMが必須というわけではありません。

形式ファイル先頭主な特徴
UTF-8 BOMなし本文の先頭バイトから開始Web、プログラム、Unix系で一般的
UTF-8 BOMありEF BB BF一部のWindowsアプリで文字コード判定の助けになる

BOM付きが役立つ場合

文字コードを指定する仕組みがなく、受け取り側がファイル内容から推定する場合、BOMがUTF-8の目印になります。特に古いWindowsアプリケーションや、CSVを扱う一部の環境では、BOM付きUTF-8の方が日本語を正しく認識しやすい場合があります。

BOMが問題になる場合

プログラムやデータ形式の実装がBOMを考慮していないと、先頭に見えない文字があるように扱われます。シェルスクリプトの先頭、HTTP応答、JSONキー、CSVの最初の列名などで、想定外の文字として残ることがあります。現在の主要な実装はBOMを処理するものが多いものの、利用先の仕様が優先です。

文字列途中のU+FEFF

ファイル先頭のBOMと、文章の途中に現れるU+FEFFは区別して考えます。コピーや連結によりBOMが途中へ入ると、検索やキー比較が一致しない原因になります。本ツールでは、先頭のBOMはファイル情報として表示し、文字列途中のU+FEFFは不可視文字として検出します。

どちらを選ぶか

文字コードとBOMを別々に記録する

「UTF-8」だけでなく「UTF-8 BOMなし」「UTF-8 BOM付き」と明記すると、受け渡し時の認識違いを減らせます。

参考資料

最終確認日:2026年7月23日