QRコード作成
QRコードに入るのは、誤り訂正レベルが最も低い状態(L、バージョン40)でテキスト2,953バイト、数字だけなら7,089桁までです。https://example.com のような短いURLなら、レベルMで25×25のバージョン2に収まります。
使い方
- コードに入れる内容を選びます。テキスト、URL、メール、電話番号、Wi-Fiのいずれかです。
- 項目を入力すると、そのたびにコードが更新されます。Wi-Fiではネットワーク名、パスワード、セキュリティ方式を入れます。
- 誤り訂正レベルを選びます。画面表示や印刷ならたいていMで十分です。汚れやすい場所に貼る、中央にロゴを載せる場合はQかHにします。
- スマホのカメラでプレビューを読み取って確認し、印刷やデザインにはSVG、資料やスライドにはPNGをダウンロードします。
計算方法
QRコード モデル2の規格であるISO/IEC 18004に沿って作ります。内容を見て、すべてを収められる最もコンパクトな符号化を選びます。数字だけなら数字モード(1桁あたり約3.3ビット)、英大文字・数字・空白と $ % * + - . / : の記号だけなら英数字モード(1文字5.5ビット)、それ以外はバイトモードでUTF-8を1バイト8ビットで格納します。
次に、選んだ誤り訂正レベルでデータが収まる最小のバージョンを1(21×21モジュール)から40(177×177)の中から選びます。データをブロックに分け、各ブロックにGF(256)上のリード・ソロモン誤り訂正コード語を付け、ブロックを交互に並べてから、3隅の位置検出パターン、タイミングパターン、位置合わせパターンを避けてジグザグに配置します。
最後に8種類のマスクパターンのどれかをデータ領域にXORで重ね、大きな塊や位置検出パターンに似た形が偶然できないようにします。8種類すべてを規格の4つの失点ルール(同色モジュールが5個以上続く、2×2の塊、明るい帯に隣接する1:1:3:1:1の形、暗と明のモジュール数の偏り)で採点し、最も低いものを使います。オプションでマスクを固定することもできます。
種類ごとにコードに入る内容
| 種類 | 保存される形 | スマホの動き |
|---|---|---|
| テキスト | 入力したテキストそのまま | テキストを表示し、検索やコピーを提案 |
| URL | リンク(スキームがなければ https:// を付ける) | ページを開くよう提案 |
| メール | mailto:アドレス?subject=...&body=... | 項目が入った新規メールを作成 |
| 電話 | tel:+81312345678 | 発信を提案 |
| Wi-Fi | WIFI:T:WPA;S:名前;P:パスワード;; | ネットワークへの接続を提案 |
入る量の目安
バージョン40(177×177モジュール)の最大容量です。実際のコードはたいていずっと小さく、小さいほど読み取りやすくなります。
| レベル | 数字 | 英数字 | バイト |
|---|---|---|---|
| L (7%) | 7,089 | 4,296 | 2,953 |
| M (15%) | 5,596 | 3,391 | 2,331 |
| Q (25%) | 3,993 | 2,420 | 1,663 |
| H (30%) | 3,057 | 1,852 | 1,273 |
印刷と読み取りのコツ
- 余白(クワイエットゾーン)は4モジュール以上残します。余白を切り落とすのが、読み取れない原因として最も多いパターンです。
- 明るい背景に濃いドットで、コントラストをはっきりさせます。白黒反転や淡い色は多くの読み取りアプリで失敗します。
- 幅2cm以上で印刷し、内容が長いときや離れた場所から読ませるときはさらに大きくします。
- リンクが短いほどコードは単純で丈夫になります。内容が長いなら、自分で管理するドメインの短いURLにするのがおすすめです。
出典と注記
- 符号化はISO/IEC 18004:2015(QR Code bar code symbology specification)に従います。QRコードは株式会社デンソーウェーブの登録商標です。
- Wi-FiのコードはZXingプロジェクトのWiki(Barcode Contents)に記載されたWIFI:形式で、AndroidとiOSのカメラが読み取れます。\ ; , : " の文字はバックスラッシュでエスケープします。
- 全40バージョンを4つの誤り訂正レベルすべてで生成し、独立した2つのオープンソースのデコーダーで読み取って検証しています。
よくある質問
作ったQRコードに有効期限はありますか?
ありません。静的なコードなので内容は模様そのものに入っていて、間にサーバーやリダイレクト、トラッキングはありません。リンク先が残っている限り使えます。
誤り訂正レベルはどれを選べばいいですか?
Mは約15%の損傷を復元でき、標準として無難です。Lはきれいな画面向けで、最も小さく単純なコードになります。Q(25%)とH(30%)はコードが大きくなる代わりに、傷や汚れ、中央のロゴに強くなります。
テキストが入りきらないのはなぜですか?
バージョン40のコードに入るのはレベルLで2,953バイト、Mで2,331、Qで1,663、Hで1,273バイトです。日本語のようなラテン文字以外は1文字2〜4バイト(かな・漢字はふつう3バイト)を使うため、英語より早くいっぱいになります。
SVGとPNGはどちらがいいですか?
SVGはベクター形式で、どの大きさに拡大してもくっきりしているので、印刷やデザインソフトに向いています。PNGは普通の画像です。PNGは1モジュールを整数ピクセルで描いて輪郭をシャープに保つため、入力したサイズはそれに合わせて丸められます。
入力した内容はどこかに送信されますか?
いいえ。コードはすべてブラウザの中で作られ、Wi-Fiのパスワードを含め、入力した内容が端末の外に出ることはありません。