← ツールに戻る

About · How it works

このツールについて

「QR メーカー」がどんなライブラリを使い、内部でどんな処理をしているかをまとめたページです。入力した内容がどこへ行くのか(=どこへも行かない)を含めて説明します。


使っている外部ライブラリ

QR コードの符号化にだけ、外部ライブラリを 1 つ使っています。描画・保存・UI はすべて素の JavaScript です。

Library
名前
qrcode-generator v1.4.4
作者
Kazuhiko Arase
ライセンス
MIT(全文を見る
著作権
Copyright (c) 2009 Kazuhiko Arase
入手元
github.com/kazuhikoarase/qrcode-generator
役割
文字列を QR のモジュール配置(どのマスを黒くするか)に変換する
配信元
このサイト自身(./qrcode.min.js

元々は CDN(cdnjs)から読み込んでいましたが、外部依存をなくすためファイルを同じ S3 バケットに置き、自サイトから配信しています。CDN 側の障害・提供終了・改ざんの影響を受けません。読み込むのは index.htmlqrcode.min.js の 2 ファイルだけで、それ以外の通信は発生しません。

このライブラリがやるのは「文字列 → 黒白のマス目データ」への変換までです。画面に見える見た目(角丸・ドット・色・ロゴ・余白)は、このツール側が自前で描いています。

QR ができるまでの流れ

  1. 入力を読む:テキスト欄の URL / 文字列、誤り訂正レベル、色、形などの設定を取得します。
  2. UTF-8 で符号化:日本語などマルチバイト文字も正しく扱えるよう、ライブラリのバイト変換を UTF-8 に設定しています。
  3. QR データを計算:qrcode-generator が文字列とエラー訂正レベルから、必要なバージョン(サイズ)とモジュール配置を決めます。
  4. 描画する:計算結果をもとに、Canvas(プレビュー・PNG 用)と SVG(印刷用)にマス目を描きます。
  5. 書き出す:PNG / SVG としてダウンロード、または画像としてクリップボードにコピーします。

描画の仕組み

2 通りの描き方

モジュールの形

四角・角丸・ドットの 3 種類を、マスごとに図形を描き分けて表現しています。角丸は角の丸め半径、ドットは円で描画します。

ファインダーパターン

QR の三隅にある大きな四角(位置検出パターン)は、読み取り精度に直結するため通常のマスとは分けて描いています。外側の枠を 1 モジュール幅の線で、内側を塗りつぶしで描くことで、形状を変えても検出されやすい形を保ちます。

中央ロゴ

画像を中央に重ねられます。ロゴの下は背景色で四角く抜くことができ、QR の読み取りへの影響を抑えます。ロゴを重ねる場合はエラー訂正レベル H(約 30% まで復元可能)を推奨しています。

ロゴを大きくしすぎたり、前景・背景のコントラストが低いと読み取れなくなります。書き出したら、配布前に実機のカメラで一度スキャンして確認してください。

入力内容の扱い

生成はすべてブラウザの中だけで完結します。入力した URL や文字列、選んだロゴ画像がサーバーに送信されることはありません。ページを開いた後はネットワーク接続が切れても動作します。

ホスティング構成

配信
Amazon S3(非公開バケット)+ CloudFront
暗号化
HTTPS(TLS 1.2 以上)
アクセス経路
S3 へは CloudFront(OAC)経由のみ。バケットは直接公開していません。
外部依存
なし(ライブラリも自サイトから配信)

ライセンスと帰属

このツールは qrcode-generator(Copyright (c) 2009 Kazuhiko Arase)を MIT ライセンスのもとで利用しています。当サイトはこのライブラリ(qrcode.min.js)を自ホストして再配布しているため、MIT ライセンスの条件に従い、著作権表示とライセンス本文を掲示しています。

QR コード規格そのものはデンソーウェーブの登録商標「QRコード」に基づきますが、規格自体は公開されており、コードの生成・利用に制限はありません。