Wi-Fi QRコード生成ツール
スキャンするだけでパスワードを入力せずにWi-Fiネットワークに接続できるQRコードを生成します。iOSとAndroidのカメラアプリがネイティブに認識します。すべての処理はブラウザ内で完結します。
217回閲覧
Wi-Fi QRコードの形式
Wi-Fi QRコードをスキャンすると接続できるのは、コードが単なるリンクではなく、小さな構造化された文字列をエンコードしているからです: WIFI:T:WPA;S:MyNetwork;P:MyPassword;H:false;;。各フィールドは1文字のキーを持っています——セキュリティ種別を表すT(WPA、WEP、オープンネットワークの場合はnopass)、ネットワーク名(SSID)を表すS、パスワードを表すP、ネットワークが非表示かどうかを表すH——これらはセミコロンで区切られ、二重セミコロンで終端されます。スマートフォンのカメラアプリはこの文字列を解析し、WIFI:というプレフィックスを認識すると、リンクや平文として開くのではなく、そのネットワークに直接参加するオプションを提示します。
この形式にはIEEEやWi-Fi Allianceによる公式仕様は存在しません。初期のAndroid向けQRリーダーの多くが採用していたオープンソースのバーコード読み取りライブラリZXing (Zebra Crossing)によって広まり、他の全員が同じ構文をコピーしたことで事実上の業界標準になりました。Appleは2017年のiOS 11から公式に一級のサポートを提供し始め、標準のカメラアプリがWi-Fi QRコードを認識してワンタップで「ネットワークに参加」というプロンプトを表示できるようになりました。Androidの標準カメラアプリとGoogle Lensも同じ形式をネイティブにサポートしています。この形式は正式な仕様に縛られたことがないため、スキャナー間で実装上の小さな差異があります——H:フィールドが省略されている場合、ネットワークを可視として扱うことで穏当に処理するリーダーもあります——しかし、T:、S:、P:の各フィールドは今日使われているほぼすべてのリーダーで同じように読み取られており、これが公式な標準化団体が存在しないにもかかわらず、この形式が実用上信頼できる理由です。
特殊文字をエスケープする必要がある理由
セミコロンとカンマはこの形式自体のフィールド区切り文字および値区切り文字であるため、たまたまこれらの文字を含むネットワーク名やパスワード——たとえばOffice,Floor 2という名前のゲストネットワーク——をそのままにしておくと、パーサーは静かに壊れてしまいます。エスケープされていないカンマは、まったく異なる2つのフィールドの境界と誤認識され、それ以降のすべてが破損します。この仕様では、値の中に現れる次の5つの文字の前にバックスラッシュを付けてエスケープすることが求められています: バックスラッシュ自体(\ → \\)、セミコロン(; → \;)、カンマ(, → \,)、コロン(: → \:)、二重引用符(" → \")。このツールはエンコードの前に、ネットワーク名とパスワードの両方に対してこのエスケープ処理を自動的に適用するため、ルーターが受け付ける任意の文字を安全に使用できます。
これは静的なコードであることに注意してください。現在のパスワードが画像に直接埋め込まれるため、Wi-Fiのパスワードが変更されると、このコードは機能しなくなり、新しいものを生成し直す必要があります。また、新しいルーターではWPA3が一般的になっていますが、このツールは——ほとんどのWi-Fi QR生成ツールと同様に——WPA3ネットワークもT:WPAとしてエンコードします。これは、この形式がWPA3より前から存在しており、すべてのスキャナーがこの値を「標準的なパスワード方式のハンドシェイクを使用する」という意味だとすでに解釈しているためで、ルーターが実際にWPA2とWPA3のどちらで動作していても正しく機能します。すべての処理はブラウザ内でローカルに行われます——ネットワーク名とパスワードがどこかに送信されることは一切ありません。これは、公開リンクではなく実際に有効な認証情報をエンコードしているため、特に重要な点です。
よくある質問
Wi-Fi QRコードの形式は公式な標準ですか?
いいえ。IEEEやWi-Fi Allianceによる仕様は存在しません。WIFI:形式はオープンソースのバーコードライブラリであるZXing (Zebra Crossing)によって広まり、主要なカメラアプリやQR生成ツールがすべて同じ構文を採用したことで事実上の標準になりました。正式に標準化されたことは一度もありませんが、どこでも動作します。
どのスマートフォンがWi-Fi QRコードをスキャンできますか?
iOS 11以降(2017年リリース)を搭載したiPhoneであれば、標準のカメラアプリで直接認識され、ワンタップで「ネットワークに参加」というプロンプトが表示されます。Androidスマートフォンも標準カメラまたはGoogle Lensを通じて同じ形式をサポートしていますが、正確なスキャン画面はメーカーやAndroidのバージョンによって多少異なります。
ネットワーク名の特殊文字をなぜエスケープする必要があるのですか?
セミコロン、カンマ、コロンはこの形式自体の構造上の文字であり、あるフィールドがどこで終わり、次のフィールドがどこから始まるかを示しています。SSIDやパスワードにエスケープされていないこれらの文字が含まれていると、QRリーダーはそれをフィールド区切りと誤読し、壊れた値で接続するか、完全に失敗します。このツールが自動的に行うバックスラッシュによるエスケープは、パーサーにその文字をリテラルなテキストとして扱うよう指示します。
コードを生成した後にWi-Fiのパスワードを変更するとどうなりますか?
コードは機能しなくなります。これは静的なQRコードであり、生成した時点のパスワードが画像に直接焼き付けられているため、変更を自動的に検知してくれるルーターとのリンクはありません。パスワードを変更するたびに、新しいコードを生成して印刷し直す必要があります。
このツールにWi-Fiのパスワードを入力しても安全ですか?
はい——フォームへの入力からQR画像の生成まで、すべての処理はJavaScriptを使ってブラウザ内でローカルに実行されます。入力した内容がアップロードされたり、サーバーに送信されたりすることは一切ありません。とはいえ、印刷または共有したQRコード自体は、パスワードと同じように大切に扱ってください。それをスキャンした人は誰でもあなたのネットワークに参加できます。
関連ツール
問題を報告
Wi-Fi QRコード生成ツール
コメント
まだコメントはありません — 最初のコメントを書いてみましょう!