Wi-Fi用QRコード:正確な形式とゲストの読み取り方
Wi-Fi用QRコードはごく普通のQRコードで、その中身は決まった形式の1行のテキストです:WIFI:T:WPA;S:mynetwork;P:mypass;;。ZXingプロジェクトのwikiの説明では、この行の T がセキュリティの種類、S がネットワーク名、P がパスワードです。GoogleのPixelヘルプによると、スキャンしたQRコードからWi-Fiネットワークに接続できるので、ゲストはパスワードを入力せずに接続できます。
以下では、主なフィールド、資料によって食い違う2点(WPA3と特殊文字)、コードの作り方、iPhoneとAndroidでの読み取り手順を順に説明します。
事実確認日:2026年10月17日。
Wi-Fi用QRコードの中身
この文字列を説明している技術文書は2つあります。ZXingのwikiと、Android Open Source Projectの設定アプリです。後者のWi-Fi QRコードのクラスは同じ例の文字列を使い、許可されるセキュリティの値を定義しています。IANAには2020年に登録された暫定のwifi URIスキームがあり、Wi-Fi AllianceのWPA3仕様の第7節を参照し、「事実上の標準形式」と後方互換であると説明されています。ここでは仕様書本文を確認できなかったため、以下のフィールドの値はZXingとAndroidに基づいています。
| 部分 | 意味 | 資料の記載 |
|---|---|---|
WIFI: | 内容がWi-Fi設定であることを示す接頭辞 | どちらの例もこれで始まる |
T: | セキュリティの種類 | ZXingは WEP、WPA、WPA2-EAP、nopass を挙げる。Androidのコードは nopass、WEP、WPA、SAE を定義 |
S: | ネットワーク名(SSID) | 必須 |
P: | パスワード | T が nopass のときは無視され、省略してもよい |
H: | ステルスネットワーク | 任意。ネットワーク名を隠している場合は true |
;; | 文字列の終わり | 例はセミコロン2つで終わる |
これらのフィールドで作ったステルスのWPAネットワークは、WIFI:T:WPA;S:CafeGuest;P:example-pass;H:true;; のようになります。フィールドの順序は2つの資料で異なります。Androidのネットワーク設定のコードは S、T、P、H の順に書き、ZXingの例は T から始まります。ZXingのwikiは、フィールドの順序は問わないとしています。
P: フィールドはパスワードを平文で保持するので、コードを解読すれば誰でも読めます。無料のQRコードリーダーは、コードの写真やスクリーンショットを解読して文字列全体を表示し、Wi-Fiネットワークだと表示してくれるので、コードに実際に何が入っているかをすぐ確認できます。印刷したコードは、パスワードそのものを貼ってもよい場所に置きましょう。
資料が食い違う点:WPA3と特殊文字
WPA3とTの値。 Androidのドキュメントによると、WPA3-Personalは事前共有鍵の代わりに同時対等認証(SAE)を使い、AndroidはAndroid 10でWPA3に対応しました。QRの文字列について、ZXingのwikiは SAE という値を挙げていませんが、Androidのコードは WPA の隣に SECURITY_SAE = "SAE" を定義しています。アプリ開発者が使うGoogleのML Kitのバーコード APIは、オープン、WPA、WEPの種類しか挙げていません。ただしこれはAPIの説明で、スマートフォンのカメラアプリの説明ではありません。これらのページのどれも、特定のカメラアプリがWPA3ネットワークにどの値を受け付けるかは書いていません。T:SAE がAndroidからiPhoneへそのまま通用すると考えず、WPA3のコードは印刷前に両方のプラットフォームでテストしてください。
特殊文字。 ZXingのwikiは、\、;、,、"、: の各文字をバックスラッシュでエスケープすべきだとしています。同じ設定コードにあるAndroidのエスケープ関数は、バックスラッシュ、カンマ、セミコロン、コロンをエスケープし、ここで確認した版ではダブルクォートをエスケープしません。この1文字について資料が異なります。ネットワーク名とパスワードを自分で決められるなら、これらの文字を使わなければ問題自体がなくなります。決められない場合は、テスト用に1部印刷して両方のプラットフォームでスキャンしましょう。
16進数のように見える名前。 16進数として読まれる可能性があるASCIIの名前やパスワードについて、ZXingのwikiの例はダブルクォートで囲んだ "ABCD" です。そうした名前は印刷前にテストしてください。
5つのステップでコードを作る
- 情報をコピーする。 ルーターに表示されているとおりに、大文字小文字、スペース、記号も含めてネットワーク名とパスワードをコピーします。
- Wi-Fiタイプを選ぶ。 QRコードジェネレーターでは、QR Maker AIのWi-Fiコンテンツタイプで、WPA/WPA2、WEP、パスワードなしを選べ、ステルスネットワークのオプションもあります。WPA3専用の選択肢はないので、上記のアドバイスに従ってテストしてください。
- 画像をダウンロードする。 Wi-Fiコードは静的コードです。情報はパターンの中にあり、アカウントは不要で、PNGの書き出しは無料です。
- 文字列とデザインを確認する。 コードの写真をリーダーで解読し、続いてQRコードチェッカーにかけます。チェッカーのスコアはデザインだけを評価するもので、紙、インク、照明は判断できません。サイズ計算機で印刷幅を決めましょう。
- 印刷したテスト用コピーをスキャンする。 掲示物を印刷する前に、実寸のテスト用コピーをiPhoneとAndroidで1台ずつスキャンします。どちらかで失敗したら、読み取れないQRコードのガイドによくある原因をまとめています。
動的にできるのはURLのコードだけなので、Wi-Fiコードは常に静的です。パスワードを変えると印刷した掲示物は誤りになり、直すには新しいコードで新しい掲示物を作るしかありません。パスワードをめったに変えない別のゲスト用ネットワークを用意すれば、掲示物を長く使えます。設置場所の例はホテルの活用例を、違いについては動的QRと静的QRをご覧ください。
ゲストの読み取り方
iPhone
- ホーム画面、ロック画面、コントロールセンターから「カメラ」アプリを開きます。または、コントロールセンターを開いて「コードスキャナー」(Scan Code)をタップします。Appleサポートが両方の方法を説明しています。
- コード全体が画面に入るようにスマートフォンを構えます。
- バナーが表示されたらタップします。iOS 11のQRコード認識についてのApple開発者向けセッションでは、Wi-Fiコードはバナーを表示し、タップするとネットワークへの接続を促すと説明しています。このページには日付がなく、古いバージョンについての説明で、Appleの現在のスキャンに関するページはWi-Fiに触れていないので、実際の文言は手元のスマートフォンで確認してください。
「コードスキャナー」がない場合は、コントロールセンターの背景を長押しし、「コントロールを追加」(Add a Control)をタップしてから「コードスキャナー」をタップします。
Android
- 「カメラ」アプリを開き、設定の「その他の設定」で「カメラのスキャン候補」(Camera scan suggestions)をオンにします。
- コード全体が画面に入るようにカメラを向けます。写真を撮る必要はありません。
- 吹き出しかリンクが表示されたらタップします。同じPixelのヘルプページによると、Googleレンズを使う方法もあります。
これはGoogleがPixel向けに示している手順です。他メーカーのカメラアプリはここでは扱っていません。PixelのページにはWi-Fi特有の手順もないので、タップ後の表示は異なる場合があります。
接続済みのPixelからコードを表示することもできます。「設定」を開き、「ネットワークとインターネット」(Network & internet)、「インターネット」(Internet)と進み、ネットワークの横の設定アイコンをタップして「共有」(Share)をタップし、求められたら本人確認をします。GoogleのWi-Fiヘルプによると、これらの手順の一部はAndroid 11以降でのみ使えます。
スマートフォンが接続を提案しないとき
| 表示される状況 | 考えられる原因 | 対処 |
|---|---|---|
| カメラに役立つ情報が出ない、またはテキストだけが出る | コードの中身が WIFI: で始まる文字列ではない | リーダーで解読し、上の表と文字列を比べる |
| 接続を提案されるが、接続に失敗する | パスワードの入力ミス、または特殊文字のエスケープ方法の違い | パスワードをコピーし直し、できれば \ ; , " : を避ける |
| WPA3のネットワークで失敗する | 資料が食い違う T の値が原因の1つとして考えられる | iPhoneとAndroidで T:WPA をテストする。Androidのコードにある T:SAE の値で文字列を手書きする場合も、両方でテストする |
| ステルスネットワークで失敗する | H:true は形式の一部。AppleのiOS 11のセッションはそのバージョンでステルスSSIDに非対応としており、ここで確認したページは現在のスマートフォンについて説明していない | 両方のプラットフォームでテストし、手入力用の情報をコードの横に印刷する |
| コードがまったく読み取れない | サイズ、コントラスト、余白の問題 | チェッカーとサイズ計算機を使う |
コードの横には、ネットワーク名とパスワードを文字でも印刷しておきましょう。カメラアプリでコードを読めないゲストも、手で入力できます。
よくある質問
Wi-Fi用QRコードの形式は?
WIFI:T:WPA;S:mynetwork;P:mypass;; のようなテキストの文字列です。T がセキュリティの種類、S がネットワーク名、P がパスワードで、任意の H:true はステルスネットワークを表します。
WPA3ネットワーク用のQRコードは作れますか?
ZXingは WPA を挙げ SAE は挙げていませんが、Androidのコードは SAE も定義しています。どちらのページも各カメラアプリがWPA3で何を受け付けるかは書いていないので、iPhoneとAndroidでテストしてください。QR Maker AIのジェネレーターはWPA/WPA2、WEP、パスワードなしを提供し、WPA/WPA2では T:WPA を書き込みます。WPA3専用の選択肢はありません。
Wi-Fi用QRコードはステルスネットワークでも使えますか?
形式には H:true フィールドがあります。AppleのiOS 11のセッションはそのバージョンではステルスSSIDに非対応としており、本ガイドのために確認したページは、現在のスマートフォンのカメラがどう扱うかを説明していません。両方のプラットフォームでテストし、手入力用の情報をコードの横に印刷してください。
コードを刷り直さずにWi-Fiのパスワードを変更できますか?
できません。Wi-Fiコードは静的なので、パスワードはパターンの中にあります。新しいコードを作り、印刷済みのものと差し替えてください。
ほかの人がコードからパスワードを読めますか?
P: フィールドは書かれたとおりのパスワードなので、どのQRリーダーでも表示できます。印刷したコードはパスワードそのものとして扱いましょう。
出典
- ZXing project — Barcode Contents (Wi-Fi Network config). Page shows last edit 16 October 2026. Accessed 17 October 2026.
- Google — Scan QR codes with your Pixel phone. Undated. Accessed 17 October 2026.
- Android Open Source Project — WifiQrCode.java (Settings app, main branch). Undated. Accessed 17 October 2026.
- IANA — Provisional URI scheme: wifi. Registered 26 August 2020; last updated 15 December 2020. Accessed 17 October 2026.
- Android Open Source Project — WifiNetworkConfig.java (Settings app, main branch). Undated. Accessed 17 October 2026.
- Android Open Source Project — WPA3 and Wi-Fi Enhanced Open. Last updated 9 October 2026. Accessed 17 October 2026.
- Google — Barcode.WiFi, ML Kit reference. Last updated 31 October 2024. Accessed 17 October 2026.
- Apple — Scan a QR code with your iPhone or iPad. Page date not cited. Accessed 17 October 2026.
- Apple — QR Code Recognition on iOS 11 (Tech Talk). Undated. Accessed 17 October 2026.
- Google — Connect to Wi-Fi networks on your Pixel phone. Undated. Accessed 17 October 2026.