仕様と根拠

UTF-8 として読めるかの判定

WHATWG Encoding Standard 8.1.1 の UTF-8 decoder の規則で、バイト列を 1 つずつ確かめます。先頭バイトが C2〜DF なら後続 1 バイト、E0〜EF なら 2 バイト、F0〜F4 なら 3 バイトが 80〜BF の範囲で続く必要があり、E0・ED・F0・F4 の直後には追加の制限があります。外れた箇所は U+FFFD(�)に置き換わる不正なバイト列として数え、何バイト目・何行目かを示します。

BOM と Shift_JIS の確認

先頭の EF BB BF は UTF-8 の BOM で、UTF-8 として読むときは読み捨てられます(6.1・6 節)。UTF-8 として読めない場合は、バイト列が Shift_JIS(CP932)の 1 バイト文字・半角カナ・2 バイト文字の形として成り立つかも確かめます。形が成り立つだけでは Shift_JIS だと断定できないため、表示は常に「可能性」です。

貼り付けたテキストの化け方

ファイルがなく文字だけを貼り付けたときは、すでに置き換わった U+FFFD の数と位置、UTF-8 を Latin-1 系で読んだときの「é」のような並び、UTF-8 のひらがなを Shift_JIS で読んだときに多い「縺」「繧」「繝」を数えます。後の 2 つは仕様ではなく経験則による目安です。

根拠にした仕様・資料

仕様・資料と確認日
仕様・資料確認日使った箇所
WHATWG Encoding Standard2026年10月28日8.1.1 UTF-8 decoder(バイトの範囲と error)・6.1 BOM sniff(EF BB BF)・6 UTF-8 decode(先頭の BOM を読み捨てる)

指摘の段階

入力の扱い(送信しない仕組み)

処理はすべてお使いのブラウザの中で行います。処理の本体はこのサイトから配信する小さなスクリプト(/app.js)で、外部のサービスやライブラリを読み込みません。ページはブラウザに通信を禁止させる設定(Content-Security-Policy の connect-src)つきで配信しており、入力した内容がサーバーや第三者へ送られることはありません。ファイルを選んだ場合も、端末の中で読み込むだけです。

このツールでできないこと(制約)

ご利用にあたって

  • 判定は「可能性」です。重要なデータは、元のファイルを作ったソフトの文字コードの設定も確認してください。
  • 大きなファイルはお使いの端末の性能によって処理に時間がかかることがあります。