# NFC Reader

> Android の Chrome で NFC タグを読む・書く。文字、URL、Wi-Fi。アプリ不要。上書きは元に戻せない。makeReadOnly は永久で救援なし。先にバックアップ。送信しない。

- URL: https://bytescope.dev/ja/nfc-reader/
- Locale: ja · Also: [en](https://bytescope.dev/en/nfc-reader.md) · [zh-Hant](https://bytescope.dev/zh-Hant/nfc-reader.md)
- Runs: アップロードも記録もしません。タグの中身はこのタブの中だけ、離れたら消えます。
- Requires: Chrome on Android only (Web NFC). No desktop browser and no iOS browser exposes NFC to web pages.
- Updated: 2026-09-08

## What it does

このページは、ブラウザで NFC タグを読む道具であり、アプリなしでタグに書く道具です。Web NFC の `NDEFReader` が、このタブの中でタグと話します。送りません。動くのは Android の Chrome、HTTPS、タップのあとです。iPhone とデスクトップでも説明、FAQ、正直な対応表は出ます。非対応だからといってページが消えることはありません。

### タグに入っているもの

`reading` イベントは `serialNumber` と `message.records` を持ちます。各レコードは `recordType`、`mediaType`、`id`、`data`（DataView）、`encoding`、`lang`。`text` は本文と lang と encoding。`url` / `absolute-url` がリンクになるのは `http:`、`https:`、`mailto:`、`tel:` など短い許可リストだけです。`javascript:`、`data:`、`vbscript:` は文字のままで、危険と書きます。`mime` は `mediaType` と hex editor と同じ hex。`application/vnd.wfa.wsc` は Wi-Fi の WPS 資格情報です。SSID、認証、暗号。Network Key はタップするまで隠し、出すときはパスワードが画面に平文で出ると警告します。`unknown` と外部型（`example.com:foo`）は hex。名前を付けられないバイトは hex のままです。型は推測しません。

### 書くと上書き。ロックは永久

`ndef.write(message, { overwrite: true })` はタグ上の内容を置き換えます。先にバックアップを出していなければ、元のデータは戻りません。`ndef.makeReadOnly()` はタグを永久にロックします。救援はありません。初期化も、プログラマも助けになりません。どちらも閉じた危険パネルの奥にあり、ヒューズ書き込みと同じ Arm → Confirm です。ロックはさらに `LOCK` と打つ必要があります。スキャンは書きません。読み取りの経路で write は走りません。

### 待っているのは空ではない

端末を当ててまだ何も来ないのは「未読」であり、「タグが空」ではありません。空の NDEF（レコードゼロ）は別の結果です。`readingerror` は「このタグは読めなかった」。`NotAllowedError` は許可、またはロック済みであり、タグが無いのではありません。`permissions.query({ name: "nfc" })` が throw したら `unknown` で、`denied` にはしません。

### Android の Chrome だけ

Web NFC の仕様上の舞台は Android の Chrome です。デスクトップ Chrome に `NDEFReader` はありません。iOS Safari にもありません。Android の Edge はこの場では未確認で、そう書いてあります。検出はマウント後です（`"NDEFReader" in window`）。バージョン表より、上の実測を見てください。

## Limits

Does not read bank cards, transit cards or passports, and does not clone tags; it reads and writes NDEF records on NFC Forum tags.

ndef.makeReadOnly() はこのタグを永久に書き込み不能にします。二度と書けません。元に戻せません。

## FAQ

### どのブラウザで NFC タグを読めますか？

Android の Chrome です。HTTPS とタップが要ります。デスクトップ Chrome、Firefox、Safari（iPhone 含む）に Web NFC はありません。それらのブラウザでも説明、FAQ、対応表は出ます。null にはしません。

### タグの中身を送りますか？

送りません。バイトはこのタブの中です。中身のサーバ往復はありません。バックアップは、手元に保存するファイルです。ページを閉じるとスナップショットは消えます。

### スキャンを押しても何も起きません。空のタグですか？

違います。それは待ちです。まだ `reading` が来ていません。空のタグは、レコードなしの `reading` です。このページでは二つの文を混ぜません。

### makeReadOnly は何をしますか。元に戻せますか？

タグを永久にロックします。以後、書けません。救援はありません。このページはその表現を弱めません。危険パネルを開き、LOCK と打ち、準備、確定、の順です。そのタグへの書き込みを終わらせるつもりが無いなら使わないでください。

### タグの URL が javascript: で始まっています。リンクになりますか？

なりません。許可リストの scheme だけが `<a href>` になります。`javascript:`、`data:`、`vbscript:`、符号化された亜種、相対プロトコルの `//` は文字のままで、危険と書きます。タグの中身は信頼しない入力です。`innerHTML` も `eval` もありません。

### タグに Wi-Fi パスワードが入っています。画面に出ますか？

Network Key は最初は隠れています。タップで出し、パスワードが画面に平文で出ると警告します。バックアップには含めます。鍵を抜いたバックアップはバックアップではないからです。そのファイルは秘密として扱ってください。

## Related tools

- [Web ADB Toolkit](https://bytescope.dev/ja/web-adb.md) — 同じ相手：このタブから USB で Android と話します。
- [Hex Viewer / Editor](https://bytescope.dev/ja/hex-editor.md) — 同じオフセット／16 バイト／ASCII の言葉で、ファイルを見ます。
- [Clipboard Inspector](https://bytescope.dev/ja/clipboard-inspector.md) — このタブから出ない、信頼できないバイトを見ます。クリップボード側です。
