本文へスキップ
OpenQRS
ツール
現在の言語: 日本語
100%プライベート

Wi-Fi QRコード作成

100%プライベート、ローカル処理 — データがブラウザの外に出ることはありません。これらのQRコードは恒久的で、期限切れになることはありません。

Wi-Fiの設定

大文字と小文字は区別されます。セミコロン、コロン、カンマ、引用符、バックスラッシュは自動でエスケープされます。

ネットワーク名(SSID)を、ルーターが発信しているとおりに入力してください。

WPA3のネットワークも同じWPAトークンを使います。実際のハンドシェイクは、スマートフォンがルーターとの間で決めます。

WPAのパスフレーズは8〜63文字です。WEPキーは5文字または13文字、あるいは16進数で10桁または26桁です。

H:trueを追加し、名前を発信していないネットワークをスマートフォンが探すようにします。

デザイン

モジュールの形
プリセット
コーナーの枠
中央にロゴを追加
画像を選択、またはここにドロップPNG, JPEG, WebPまたはGIF、1000 KBまで

画像はこのページ内で読み込まれ、data: URLとしてコードに埋め込まれます。アップロードはされず、ダウンロードするファイルの中に留まります。

その他のデザイン設定

コードの暗いほうの半分です。背景より明度を十分低く保ってください。

モジュール同士の隙間だけでなく、クワイエットゾーンも塗ります。背景を透過にするとファイルから省かれるので、この色では何も描画されません。

モジュールと背景のコントラストは11.5:1です。

プリセット

PNGとWebPはアルファチャンネルを保持し、SVGは背景の矩形をそのまま省きます。コードを置いた面が、コントラストの明るいほうの半分になります。

グラデーション

グラデーションは暗いモジュールだけを塗ります。明るいほうの端がスキャナーの実際に得るコントラストを決めるので、両端とも暗いままにする必要があります。

2色目で、グラデーションを選んでいる間だけ使われます。1色目と並べてコントラストが測定されます。

45°

左から右への向きを起点とした時計回りの角度です。放射グラデーションは中心から外へ広がるため、角度が効くのは線形のときだけです。

モジュールの形

丸い形はセルを覆う面積が小さくなります。デコーダーが標本を取る中心は覆われたままですが、密度の高いコードを小さく印刷する場合は四角のほうが安定して読み取れます。

コーナーの枠

3つの位置検出パターンの外枠です。

コーナーの中心

各位置検出パターンの中にある目にあたる部分です。

4モジュール

コードの周囲の余白で、モジュール単位で測ります。規格上の最小値は4です。

復元レベルが高いほど多くの損傷に耐えられますが容量を消費するため、同じ内容でもシンボルが密になります。

中央にロゴがあり、レベルをHに固定しています。幅の上限はシンボルに応じて変わり、最小のコードで14%、密なコードで30%です。

ライブプレビューと書き出し

書き出し

書き出し

ラスター、画面向け

フォームを入力するとダウンロードが有効になります。

書き出しサイズとエンコードされたテキスト
ペイロード
まだ何もエンコードされていません
シンボル
まだ生成されていません
復元レベル
Q

入力待ち

書き出しサイズ

64〜4096ピクセルの範囲。1024 pxで書き出します。

エンコードされたテキスト

Wi-FiのQRコードは、ネットワーク名とパスワードと暗号化方式を1本のWIFI:文字列に収めたもので、間にWebサイトを挟まずスマートフォンが直接読み取ります。iOS 11以降とAndroid 10以降は標準カメラからそのまま接続でき、それより古いAndroid端末ではこの形式を理解するスキャナーアプリが必要です。

スキャンしたときの動作

スマートフォンがネットワーク名とパスワードを読み取ってそのWi-Fiへの接続を提案し、ブラウザは開かず、何もダウンロードされません。

WIFI:文字列の中身

ペイロードは、接頭辞とセミコロン区切りのフィールドからなる1行のテキストで、最後をセミコロン2つで閉じます。典型的なものは WIFI:T:WPA;S:Cafe-Guest;P:flatwhite2019;; で、これで全部です。URLではありませんし、ネットワーク上の何かに解決するものでもありません。

この形式は標準化団体ではなくZXingというバーコードプロジェクトに由来し、そのため事実上の標準と呼ばれます。仕様に沿った読み取り側にとってフィールドの順序は問題になりませんが、末尾のセミコロン2つは違います。読み取り側はそれをレコードの終わりの印として使います。

そのままでは構造の一部として読まれてしまう文字は、バックスラッシュでエスケープする必要があります。このページはエンコードの前にそれらをエスケープし、二重にエスケープされないようバックスラッシュを最初に処理します。

  • T: 暗号化の種類。WPA、WEP、nopassのいずれか
  • S: SSID。大文字小文字を含め、ルーターが発信しているとおりに
  • P: パスフレーズ。種類がnopassのときは丸ごと省略されます
  • H: ネットワークがステルスのときだけtrue
  • エスケープされる文字: バックスラッシュ、セミコロン、カンマ、コロン、二重引用符

何もインストールせずに接続できる端末

iOSは11以降、Androidは10以降、標準のカメラアプリでWIFI:コードを読み取ります。それより古いAndroidではカメラがWIFI:…という生のテキストを表示するか、何も起こらず、来客側にこの形式を実装したスキャナーアプリが必要になります。Wi-Fiコードが動かないように見える原因として、これが最も多いものです。

WPA3専用のトークンはありません。WPAを選べばWPA2でもWPA3でも移行モードの混在ネットワークでも動きます。端末はネットワークを見つけた時点でハンドシェイクを選ぶからです。WPA3専用のネットワークにT:SAEを出力するツールもありますが、SAEを認識しないパーサーは黙って失敗するため、このページでは提供していません。

ステルスネットワークにはH:trueが必要です。このフラグがないと、端末は一致するSSIDを電波の中から探し、見つからないまま、役に立つエラーも出さずに諦めます。ルーターのSSID通知をオフにしている場合は、必ずチェックボックスを入れてください。

使い続けられるネットワークカードを印刷する

Wi-Fiのペイロードは短いので、シンボルは小さいままです。上の例は41バイトで、レベルQならバージョン4の33×33モジュールのシンボルに収まります。クワイエットゾーンを含めて幅30 mmで印刷すると1モジュールあたり約0.7 mmとなり、テーブル越しにスマートフォンのカメラが解像できる範囲に十分収まります。

ここで初期の復元レベルをQにしているのは、この種のカードがテーブルの上で暮らし、飲み物をこぼされ、光を反射するラミネートをかけられるからです。Qはシンボル内のコードワードの約4分の1を復元できるだけの復元用コードワードを追加し、ペイロードが十分に小さいので、その追加分はサイズにほとんど響きません。

パスワードは読み取り可能なテキストとしてシンボルの中に入っています。カードを撮影した人は誰でも、どんなスキャナーでも復号できるので、プリンターやネットワークストレージにも届く本来のパスフレーズをエンコードするのではなく、来客には独自のパスフレーズを持つゲスト用ネットワークを使ってもらってください。

よくある質問

パスワードはQRコードの中に隠れているのですか?

いいえ。QRコードは暗号化ではなくエンコードです。パスフレーズはP:フィールドにプレーンテキストで入っていて、どのスキャナーアプリでもWIFI:文字列の全体が表示されます。印刷したWi-Fiコードは、壁に書いたパスワードと同じくらい公開されているものと考えてください。

WPA3のネットワークでは別の設定が必要ですか?

いいえ。WPAを選んでください。同じトークンがWPA、WPA2、WPA3、移行モードをカバーし、接続時に端末が実際のハンドシェイクを判断します。iOSでのWPA3対応はiOS 13から始まりました。

SSIDやパスワードにセミコロンやバックスラッシュが入っている場合は?

自動でエスケープされます。この形式はバックスラッシュ、セミコロン、カンマ、コロン、二重引用符を予約しており、エンコードの前にそれぞれの手前へバックスラッシュを付けます。二重にエスケープされないようバックスラッシュを先に処理するので、ルーターに表示されているとおりの値を入力してください。

コードを刷り直さずにWi-Fiのパスワードを変更できますか?

いいえ。パスフレーズはシンボルのモジュールに焼き込まれているため、変更するには新しいコードを生成して印刷し直すことになります。そして、それこそがコードを恒久的にしている性質でもあります。サーバーを呼び出さないので、リダイレクトも無効化も期限切れもありません。

静的QRコードの仕組み

このサイトのコードはすべて静的です。ペイロードは白黒のモジュールそのものに書き込まれています。読み取り時に何かを参照することはなく、当サイトのサーバーが関与することもなく、印刷されたコードをサブスクリプションが支えているわけでもありません。同じ性質が限界でもあります。一度印刷すると、中身は変更できません。

印刷したコードが読めるかどうかを決めるのは3つです。ペイロードが何バイトになったか、どの復元レベルが損傷を吸収するか、そして紙の上で1モジュールがどれだけの幅になるか。以下のガイドは、そのそれぞれを数字とともに扱います。