X(旧Twitter)QRコード作成
100%プライベート、ローカル処理 — データがブラウザの外に出ることはありません。これらのQRコードは恒久的で、期限切れになることはありません。
X(旧Twitter)の設定
デザイン
中央にロゴを追加
画像はこのページ内で読み込まれ、data: URLとしてコードに埋め込まれます。アップロードはされず、ダウンロードするファイルの中に留まります。
その他のデザイン設定
コードの暗いほうの半分です。背景より明度を十分低く保ってください。
モジュール同士の隙間だけでなく、クワイエットゾーンも塗ります。背景を透過にするとファイルから省かれるので、この色では何も描画されません。
モジュールと背景のコントラストは11.5:1です。
PNGとWebPはアルファチャンネルを保持し、SVGは背景の矩形をそのまま省きます。コードを置いた面が、コントラストの明るいほうの半分になります。
グラデーションは暗いモジュールだけを塗ります。明るいほうの端がスキャナーの実際に得るコントラストを決めるので、両端とも暗いままにする必要があります。
2色目で、グラデーションを選んでいる間だけ使われます。1色目と並べてコントラストが測定されます。
左から右への向きを起点とした時計回りの角度です。放射グラデーションは中心から外へ広がるため、角度が効くのは線形のときだけです。
丸い形はセルを覆う面積が小さくなります。デコーダーが標本を取る中心は覆われたままですが、密度の高いコードを小さく印刷する場合は四角のほうが安定して読み取れます。
3つの位置検出パターンの外枠です。
各位置検出パターンの中にある目にあたる部分です。
コードの周囲の余白で、モジュール単位で測ります。規格上の最小値は4です。
復元レベルが高いほど多くの損傷に耐えられますが容量を消費するため、同じ内容でもシンボルが密になります。
中央にロゴがあり、レベルをHに固定しています。幅の上限はシンボルに応じて変わり、最小のコードで14%、密なコードで30%です。
ライブプレビューと書き出し
@を付けずにハンドルを入力してください。
書き出し
ラスター、画面向け
フォームを入力するとダウンロードが有効になります。
書き出しサイズとエンコードされたテキスト
- ペイロード
- まだ何もエンコードされていません
- シンボル
- まだ生成されていません
- 復元レベル
- M
入力待ち
Xのプロフィールをエンコードするか、Web intentを使って本文を入力済みの投稿画面を開きます。事前入力の方は自動では何も投稿せず、下書きを用意するだけで、実際に投稿するかどうかはスキャンした本人が決めます。
スキャンしたときの動作
プロフィールのコードはプロフィールページを開き、事前入力のコードは本文が入った状態のX投稿画面を開いて、編集か投稿を待ちます。
プロフィールのリンクと事前入力の投稿は、別のペイロード
プロフィールの選択肢は、プロフィールのアドレスだけをエンコードします。事前入力の選択肢は、Xがまさにこの目的のために公開しているWeb intentのURL、つまり /intent/tweet に本文をtextパラメータで載せたものをエンコードし、入力欄がすでに埋まった状態の投稿画面を開きます。
twitter.comもx.comも同じプラットフォームに解決し、どちらのドメインで書いたリンクも同じプロフィールと同じ投稿画面に届きます。intentのパスそのものは今も文書化されている /intent/tweet のままで、コードに入っているのが、パスの改称を推測したものではなくこれである理由がそこにあります。
エンコードされた本文は、入力した本文より長い
textパラメータの中身はURLの一部として成立しなければならないため、パーセントエンコードされます。それによってペイロードは入力欄に見えている文字数をはるかに超えて膨らみ、シンボルもそれに合わせて大きくなります。
実務上の帰結として、短いと思っている投稿が、ステッカーのサイズでは印刷できないほど密なコードになることがあります。事前入力の本文は、文字数の予算がXの許す量の3分の1しかないつもりで書き、プレビューでシンボルの大きさを確かめて、復元レベルを下げるのではなく言葉を削ってください。
- 空白は%20になり、1文字が3文字になります
- 改行は%0A、段落の区切りは%0A%0Aになります
- ハッシュ記号は%23になります。生のままだとURLがそこで終わり、以降がすべて切り落とされます
- アンパサンドは%26になります。そのままでは新しいクエリパラメータを始めてしまいます
- 絵文字1つはエンコード後に最大12文字になることがあり、ここで高くつくのはそのためです
投稿される前に、スキャンした人が見るもの
投稿画面には、あなたの文面が編集可能な入力欄に入って表示されます。その人は変更もでき、削除もでき、画面を閉じることもでき、投稿を押すまで何もタイムラインに届きません。これは回避すべき制限ではなく、intentのリンクを印刷しても差し支えない理由そのものです。
それは同時に、うまく使うための基準にもなります。イベントのハッシュタグを事前入力して意見の部分を空けておくカンファレンスの掲示は、読み手を尊重しています。一人称の賞賛を書いておいて、読まれないまま送信されるのを期待するコードは、そうではありませんし、どのみち投稿画面に丸見えです。スキャンした人に読み上げられても構わない下書きを書いてください。
コードの横に印刷しておく価値のある前提が1つあります。投稿画面は、読み手がXにサインインしていることを必要とします。アカウントのない人はサインインの壁に着くので、事前入力の投稿は一般向けには向かず、読み手がすでにそのプラットフォームにいる場では妥当な選択です。
よくある質問
スキャンすると自動で投稿されますか?
いいえ。intentのリンクはXの投稿画面を本文が入った状態で開き、そこで止まります。スキャンした人がそれを読み、望めば編集して、投稿を押します。あるいは画面を閉じて、何も起きません。どんなリンクも、本人が動かないまま代わりに投稿することはできません。
ハンドルのURLはx.comとtwitter.comのどちらを使うべきですか?
どちらでも同じプロフィールに届きます。twitter.comのアドレスはx.comにリダイレクトされます。@なしでハンドルを入力すれば、ツールが一貫したURLを組み立てるので、どちらのドメインで考えていてもコードの長さは変わりません。
事前入力の本文はどれくらいの長さにできますか?
Xが投稿画面で独自の上限、標準のアカウントで280文字を課しており、ここの入力欄もそこで止まります。実務では、シンボルの大きさのほうが厳しい制約です。パーセントエンコードでペイロードが倍になりうるので、小さく印刷するつもりのコードには、上限よりはるかに少ない本文を載せてください。
事前入力の本文にハッシュタグとリンクを入れられますか?
入れられます。どちらもURLに入る前にエンコードされるので、ハッシュ記号は%23になり、リンクの中のコロンとスラッシュもエスケープされます。手作りのintent URLに生のハッシュ記号を貼るとURLが切れてしまうのはこのためで、ブラウザがそれをフラグメントの印として読むからです。ここの入力欄に打てば、エスケープはこちらで行います。
静的QRコードの仕組み
このサイトのコードはすべて静的です。ペイロードは白黒のモジュールそのものに書き込まれています。読み取り時に何かを参照することはなく、当サイトのサーバーが関与することもなく、印刷されたコードをサブスクリプションが支えているわけでもありません。同じ性質が限界でもあります。一度印刷すると、中身は変更できません。
印刷したコードが読めるかどうかを決めるのは3つです。ペイロードが何バイトになったか、どの復元レベルが損傷を吸収するか、そして紙の上で1モジュールがどれだけの幅になるか。以下のガイドは、そのそれぞれを数字とともに扱います。