使い方
- 「生成する内容」で「URL・テキスト」または「Wi-Fi接続設定」を選ぶ。Wi-Fiの場合はSSID・パスワード・暗号化方式を入力すると、下に生成される接続文字列のプレビューが表示される。
- 誤り訂正レベル(L/M/Q/H)・1セルのサイズ・余白(クワイエットゾーン)を調整する。値を変えるたびに即座にQRコードが再生成される。
- 表示されたQRコードはPNG画像としてダウンロードできるほか、SVGのソースコードをテキストエリアからコピーして印刷物やWebページに直接埋め込める。
仕組み・根拠
QRコードの生成は ISO/IEC 18004(JIS X 0510相当)の仕様に基づき、外部ライブラリを使わずJavaScriptで実装している。入力文字列は数字のみなら数字モード、それ以外はUTF-8のバイト列としてバイトモードで符号化し、モード指示子・文字数指示子・データビット列を組み立てたのち、誤り訂正レベルごとに定められたブロック構成でReed-Solomon符号(GF(256)、原始多項式x^8+x^4+x^3+x^2+1)による誤り訂正符号を計算して付加する。誤り訂正レベルは復元可能なデータ量の目安として、Lは約7%、Mは約15%、Qは約25%、Hは約30%の破損まで読み取り可能とされる。マスクパターンは8種類すべてを試し、隣接する同色モジュールの連続やファインダーパターンに似た配列などを減点するISO/IEC 18004のペナルティ規則で最も読み取りやすいパターンを自動選択している。対応バージョンは1〜10(21×21〜57×57モジュール)に限定しており、これを超える量のデータは扱えない。
本ツールで生成したエンコーダは、Node.js環境でReed-Solomon符号語がGF(256)上で生成多項式のすべての根において0になること(符号語としての数学的な必要条件)、フォーマット情報・バージョン情報のBCH符号がそれぞれの生成多項式で割り切れること、実際に組み上げた行列からフォーマット情報・バージョン情報を読み戻すと使用した誤り訂正レベル・マスクパターン・バージョン番号と一致することを確認済みである。
Wi-Fi接続用の文字列(WIFI:T:暗号化方式;S:SSID;P:パスワード;;)はISO標準ではなくAndroid/iOSのQRコードリーダーが慣習的に対応している事実上の記法で、SSIDやパスワードに含まれる;や,、:、\はバックスラッシュでエスケープしている。
現場の落とし穴:誤り訂正レベルを上げるほど同じ内容でもQRコードの見た目が細かく・大きくなり、逆に汚れや破損に強くなる。印刷が小さくなる用途や、ロゴを重ねて印刷する用途ではH(約30%)を、単純にURLを配布するだけならM程度で十分なことが多い。また本ツールのバイトモードはASCII以外の文字をUTF-8としてそのまま格納しており、文字コード指定(ECI)を付加していないため、日本語を含むテキストは一部の古い読み取りアプリで文字化けする可能性がある。
よくある質問
Q. どれくらいの文字数まで入力できますか?
A. バージョン10・誤り訂正レベルLの場合で半角英数字約174文字、日本語(UTF-8で1文字3バイト程度)なら60文字前後が目安。レベルを上げるほど入力できる文字数は減る。
Q. Wi-FiのQRコードを読み取ると自動で接続されますか?
A. 多くのスマートフォンの標準カメラアプリはWi-Fi用QRコードを認識して接続確認画面を表示する。ただし機種やOSバージョンによっては非対応の場合がある。
Q. 生成したQRコードは第三者に送信されますか?
A. されない。数字/バイトモードへの変換、誤り訂正符号の計算、画像描画まですべてこのページのJavaScriptだけで完結し、ネットワーク通信は発生しない。
関連ツール
最終更新・根拠の確認日: 2026-09-10 · カテゴリ: 開発・データ