このページのコードが起動しませんでした。

index.htmlをフォルダから直接開くと、ブラウザがJavaScriptモジュールを読み込めません。そのため中に入れるものを選んでも何も起きません。フォルダはhttpで配信してください。

powershell -ExecutionPolicy Bypass -File serve.ps1

そのうえでhttp://localhost:8080/を開いてください。

QR・バーコード|QRコード作成もバーコード作成もオフラインで

打ち込めば、そのままコードになります。作るために何かを送ることはありません。

言語: 日本語
ソースを見る
コードとその中の文字はブラウザー内で処理されます。処理のためのアップロードはありません。

QRコードとは、文字列に対する計算です。送るファイルもなければ、頼むサービスもありません。モードの選択、バージョンの決定、リード・ソロモン誤り訂正、マスク、バーコードのバーとその下のチェックディジット。そのすべてが、このページの中の、誰でも読める1000行ほどのJavaScriptの中で起きます。このツールにはネットワーク機能が一切ありません。ここではそれが、ほかの多くのページより重い意味を持ちます。エンコードされるのは、しばしばWi-Fiのパスワードだからです。

いまの通信: 確認中…

オフライン: 確認中…

鵜呑みにする必要はありません。DevToolsの「ネットワーク」タブを開いたまま、Wi-Fiの欄にパスワードを打ち込んでみてください。その1文字も、どのリクエストにも載りません。回線を抜いてからコードを作ってみるのでも構いません。

1 コードの種類を選ぶ

QRコードは何でも入りますし、スマホのカメラが探しているのもこれです。バーコードに入れられるのは数字で、どれが必要かは、たいてい読み取る側が決めています。それを求める店、倉庫、運送会社です。

2 中に入れるものを指定する

このコードが抱えることになる文字列
 

3 見た目を決める

余白はコードの周りの空きではなく、コードの一部です。4モジュール分が仕様の求める値で、縁ぎりぎりまで切り詰めたコードは、多くのスキャナーがそもそも見つけられません。

下に文字を印字する スキャナーが読めないときに人が読むものです。流通用のコードでは数字が余白の中にも置かれますが、これは意図したものです。誰も削ってはいけない白い部分を、数字が示しています。

検査文字を付ける Code 39はふつう検査文字を持ちません。要求するシステムもあるので、お使いのものが求める場合にだけ付けてください。想定していない読み取り機は、末尾の余分な1文字として読んでしまいます。

背景をなくす 透過にします。すでに色の付いたものの上に置くときに使ってください。SVGもPNGも透過を保ちますが、後ろに来るものは明るくなければなりません。そうでないと、スキャナーが差を見つけられません。

QRコード
色と大きさ

4 受け取る

取っておくべきはSVGのほうです。ピクセルではなく指示としてのコードなので、どんな大きさで印刷してもぼやけません。これはほかの画像より重い意味を持ちます。ぼやけた縁こそ、スキャナーが解像できないものだからです。

Markdownで表示

何もアップロードせずにQRコードを作る手順

  1. コードの種類を選びます。QRコードは何でも入りますし、スマホのカメラが探しているのもこれなので、別の指定がない限りこれが答えです。バーコードに入れられるのは数字で、どれが必要かはそれを読む側が決めます。店頭ならEAN-13かUPC-A、出荷用の外装箱ならITF-14、社内用ならたいていCode 128です。
  2. 中に入れるものを指定します。いちばん多いのはリンクで、その上の欄からは、スマホが知っているほかの形式を組み立てられます。参加を提案してくるWi-Fi、保存を提案してくる連絡先カード、メール、SMS、電話番号、地図上の場所です。どれを選んでも、できあがった文字列はページに表示します。QRコードが抱えているのは、いつだってそれだけだからです。
  3. どれだけ傷んでよいかを決めます。4つの誤り訂正レベルは、検査用データをどれだけ持つかを決めるもので、多いほどコードは大きく密になります。画面ならL、ふつうの紙ならM、手で触られる、小さく印刷される、日の当たる窓に貼られるものならHです。毎日拭かれるメニューの上のコードなら、QかHの価値があります。
  4. 大きさ、余白、色を決めます。余白はコードの一部です。周囲4モジュール分の静かな空白は仕様が求めているもので、それを削ることは、印刷したコードが読めない理由として最も多いものです。明るい地に暗い図形、しかも本当に差のある色にしてください。スキャナーが読むのは2色の差なので、白地に薄い灰色ではだめですし、暗い地に明るい図形は、かなり多くの読み取り機で完全に失敗します。
  5. 手元のスマホで試します。千枚印刷する前に、画面に出ているものを1枚読ませてみてください。10秒で済み、プレビューでは捕まえられない種類の間違いをまとめて捕まえられます。エスケープが必要な文字を含むWi-Fiのパスワード、https://の抜けたリンク、1桁足りないバーコードの番号などです。
  6. SVGを受け取ります。ピクセルではなく指示としてのコードなので、どんな大きさで印刷してもぼやけません。そしてぼやけた縁こそ、スキャナーが解像できないものです。貼り付け先がSVGを受け付けないなら、PNGも受け取ってください。1モジュールあたり整数ピクセルで描いているので、こちらにもぼやけた縁はありません。

詳しい解説

他人のスマホでもきちんと読み取れるQRコードの作り方 どの誤り訂正レベルを選ぶか、QRコードの周りの白い余白がコードの一部である理由、どれくらいの大きさで印刷すべきか、そして無料生成サイトの「ダイナミック」なコードが後で何を要求してくるか。

よくある質問

打ち込んだものはどこかへ送られますか?

送られません。QRコードとは文字列に対する計算で、その計算が走るのは手元の端末の、お使いのブラウザの中です。このツールにはネットワーク機能が一切なく、何も取りに行かず、何も送りません。ページのContent-Security-Policyには接続してよいアドレスがすべて挙がっていますが、そのどれも当サイトのものではありません。これはほかのページより重い意味を持ちます。人がQRコードに入れるものとして最も多いのは、自宅のWi-Fiのパスワードだからです。

このコードに期限はありますか。あとで使えなくなりませんか?

ありませんし、なりようがありません。打ち込んだものがそのままコードの中身なので、読み取れば永久にその文字列が返ってきます。期限が来るのは、他人のアドレスが中に入っているコードのほうです。「ダイナミック」なQRコードは生成元のサーバーへのリンクを抱えており、そこから本来のアドレスへ転送されます。つまり向こうはスキャンを数え、行き先を変え、試用期間が終われば止められます。ここでは何も、どこも経由しません。

無料ですか。商用利用はできますか?

無料です。アカウントも、透かしも、作れる枚数の上限もありません。できたものを製品にも、ポスターにも、店頭にも使えます。QRコードはデンソーウェーブの登録商標ですが、同社はコードを使う人に対してそれを行使しないと表明しています。仕様はISO/IEC 18004として公開されており、自由に実装できます。このページがしているのがそれです。このサイトには広告があり、それが費用を賄っています。

誤り訂正レベルはどれを選べばいいですか?

理由がなければMです。Lはコードがいちばん小さくなり、画面なら十分です。Mはふつうの取り扱いに耐えます。QとHは、小さく印刷される、ラミネートされる、窓に貼られる、ロゴで一部が隠されるコードのためのものです。1段上げるごとに検査用のデータが増えるので、同じ文字数でもより大きなシンボルが必要になります。LからHに移ると、同じ文字列でモジュール数がおよそ2倍になります。

QRコードにはどれだけ入りますか?

最大の177モジュール四方で、数字なら7,089文字、大文字と数字なら4,296文字、それ以外なら2,953バイトまでです。しかもこれは誤り訂正がいちばん弱い場合で、いちばん強い場合はその3分の1ほどになります。実際には、上限を決めるのは形式ではなくスキャナーです。数百文字を超えるとモジュールが小さくなりすぎて、ふつうのスマホのカメラでは腕を伸ばした距離から解像できません。長いコードはたいてい、代わりに短いリンクを入れるべきだという合図です。

リンクを小文字で書くとコードが大きくなるのはなぜですか?

QRコードには大文字と数字のためのモードがあり、2文字を11ビットに詰め込みます。小文字にはそれがなく、1文字あたり8ビットかかります。HTTPS://EXAMPLE.COM/PAGEと書いたURLは、同じURLを小文字で書いた場合より3分の1ほど小さくなることがあります。スキームとホストは大文字小文字を区別しないので、大声で書いても大きさ以外は何も変わりません。ホストより後のパスは区別するので、そちらはそのままにしてください。

QRコードを読み取ることもできますか?

このページではできませんが、隣のページでできます。読み取りツールが写真やスクリーンショット、あるいはカメラを受け取って、中の文字列を返します。描くのに比べればかなり大きな仕事で、画像の中からシンボルを見つけ、撮った角度を補正し、傷んだところを直す。この三つはこのページには無い問題です。だからここのボタンではなく、独立した道具になっています。条件はほかと同じで、アップロードは一切なく、カメラの映像も残しません。

余白は何のためにあり、小さくできますか?

QRコードの周りの白い部分は、コードの一部です。読み取り機はそれを使ってシンボルの終わりを見つけており、仕様は四方に4モジュール分を求めます。バーコードなら10モジュール分ほどです。ここでは0にもできますし、そうすれば見た目は整いますが、かなり多くのスキャナーがそもそも見つけられなくなります。とくに、背景が込み入っている場合です。場所が問題なら、余白を削るのではなくコードを小さくしてください。

どのバーコードが必要ですか?

読み取る側が指定するものです。EAN-13は北米以外の流通用バーコード、UPC-Aは北米のものです。どちらもGS1から発行された番号が必要です。番号が識別しているのは製品だけでなく、その会社だからです。EAN-8は小さなパッケージ向けの短い版です。ITF-14は出荷用の外装箱に付きます。Code 128とCode 39は数字だけでなく文字も入り、登録は一切要りません。資産、棚、作業票など社内用のものには、これが正しい答えです。

チェックディジットとは何で、なぜ足されたのですか?

流通用バーコードの最後の1桁で、その前の桁から計算されます。スキャナーが、誤読と正しい読み取りを見分けられるようにするためのものです。EAN-13は12桁を求めて13桁目を計算し、UPC-Aは11桁を求めて12桁目を計算します。短いほうの番号を打ち込めば、このページがそれを足します。完全な番号を打ち込めば、与えられた桁を検算し、黙って直すのではなく拒みます。誤った桁を静かに修正することは、他人の製品として読み取られるラベルを作ることだからです。

QRコードの真ん中にロゴを入れられますか?

小さなロゴを入れられる場合はありますが、安全な面積の割合は保証できません。DENSOが示すHレベルの約30%は、任意のマスではなく全コードワードに対する復元率です。位置検出と位置合わせのパターンを隠さず、Hを使い、完成した印刷物を複数のスマートフォンで試してください。DENSOの誤り訂正の説明で基準を確認できます。

PNGよりSVGのほうが良いのはなぜですか?

コードとは縁の集まりであり、PNGはそれを作るためのピクセル数が固定されているからです。拡大すればどの縁もぼやけます。そしてぼやけた縁こそ、スキャナーが苦手とするものです。1200dpiのプリンターに512ピクセルのPNGを渡すのは、差を発明しろと頼んでいるのと同じです。SVGは正方形を指示として持っているので、名刺でも屋外広告でもくっきり印刷されます。ここのPNGは1モジュールあたり整数ピクセルで描いており、それがPNGにできる最善です。

オフラインでも動きますか?

動きます。ページを一度読み込んでから通信を切っても、そのまま使えます。何もアップロードされていないことを示す、いちばん簡単な方法でもあります。コードを描いてもらうためにテキストをどこかへ送っている道具なら、線を抜いた瞬間に止まるからです。