公開テストコーパス

スキャナー互換性に関するわたしたちの主張は、その根拠となる証拠と同程度の信頼性しかありません。このページがコーパスです。各エンコーダーファミリーに対してリグレッションテストを行うための入力と、わたしたちの言葉を信じなくても自分で確認できるスマートフォンカメラの動作を掲載しています。

なぜこれが存在するのか: ほとんどのQRツールは互換性マトリックスを公開しています。わたしたちはそのマトリックスの背後にあるコーパスを公開しています。スキャナーフリートを管理している方(小売、倉庫、製薬、航空、DMV)は、このコーパスを自社のリーダーで実行し、わたしたちのすべての主張を検証できます。

corpus.zip をダウンロード フィクスチャー JSON + CSV + 方法論 + README のセット。約 4 KB。

バージョンを読み込み中…

コーパスの使い方

フィクスチャーをダウンロードする。

すべてのテストベクターは /test-vectors/fixtures.json にあります。タイプごとに1つのJSONオブジェクトで、入力フィールドと期待されるデコード済みサブ文字列が含まれています。このサイトからライブで取得されるため、古いコピーはありません。

QRコードを再生成する。

任意のフィクスチャーの fields マップを取り、その値をそのタイプの ジェネレーター に入力して「生成」をクリックします。生成されたQRコードは、わたしたちのCIがラウンドトリップテストに使用するものとビット単位で同一です。

自社のフリートでスキャンする。

iPhone Camera、Android Camera、Google Lens、産業用スキャナー(Zebra、Honeywell、Datalogic)、またはアプリ固有のリーダー(銀行アプリ、認証アプリ)を生成したQRコードに向けます。デコードされたテキストに、そのフィクスチャーのすべての expect サブ文字列が含まれていることを確認してください。

不一致を報告する。

フリート内のスキャナーがフィクスチャーと一致しないデコード結果を返した場合、問題を報告してください。再現し、そのスキャナーを公開互換性マトリックスに追加し、(エンコーダーのバグであれば)修正を提供します。

期待されるスキャン結果

互換性マトリックスと各タイプページの「スキャン対応」の行と同じデータセットから描画されているため、この3つが食い違うことはありません。/test-vectors/にある完全なフィクスチャーファイルには33件のエントリがあり、これはリグレッションテストするエンコーダーファミリーごとに1件であって、製品タイプごとに1行ではありません。そのように主張したこともありません。

タイプフィクスチャー入力iPhone CameraAndroid Cameraプロスキャナー
URLhttps://example.com/testリンクを開くA1リンクを開くA5デコードA8
WiFiWIFI:S:MyNet;T:WPA;P:...;;ネットワークに接続A1ネットワークに接続A5ペイロードをデコードA8
WiFi Enterprise (EAP)WPA2-EAP PEAP identity=alice@corpiOS 17以降、報告ありUデコード;接続できるかは端末メーカーに依存UペイロードをデコードQ
vCardFN=Alice ORG=Acme ...連絡先に追加A1連絡先に追加A5ペイロードをデコードA8
TOTPotpauth://totp/...?secret=JBSW...認証アプリが読み取りますA9, A10認証アプリが読み取りますA9, A10URIをデコードA8
eSIMLPA:1$rsp.example.com$K2-LM...iOS 17.4以降でプロビジョニングA4Android 13以降でプロビジョニングUURIをデコードQ
Bitcoin (BIP-21)bitcoin:1A1zP1eP...ウォレットアプリが開くQウォレットアプリが開くQURIをデコードQ
SEPA (EPC)BCD header + name + IBAN + amount生文字列のみQ生文字列のみQ生文字列をデコードQ
Swiss QR-billSPC header + IBAN + address + amount生文字列のみQ生文字列のみQ生文字列をデコードQ
Micro QRCompact payloadデコード不可V, Uデコード不可G産業用リーダーZ
rMQRRectangular payloadデコード不可Uデコード不可G新しめのZebra、Scandit、CognexファームウェアZ
GS1 Digital Linkhttps://id.gs1.org/01/09506000134352URLを開くQURLを開くQPOSファームウェアがAIを解析Q
AztecArbitrary payloadデコード不可A2Google Lens、一部のバリアントA7ネイティブA8
Data MatrixArbitrary payloadデコード不可A2Google LensA6ネイティブA8
PDF417AAMVA or arbitraryデコード不可A2Google Lens、対応にばらつきありA7ネイティブA8
AAMVA driver license@\n\x1e\rANSI 636014100002DL...iOS 17以降の免許証対応フローA3免許証対応アプリのみUネイティブA8
EAN-13 / UPC-A0012345678905デコード不可ApGoogle LensGすべての小売POSA8
Code 128ABC-123デコード不可ApGoogle LensGネイティブA8

マークの読み方

根拠

「期待されるスキャン結果」の意味

方法論に関する注記

スキャナーフリート証明ログ

手動によるデバイス検証をすべて日付付きで記録しています。行は、新しい機器を入手したときやユーザーが不一致を報告したときに追加されます。結果が静かに変わることはなく、常に新しい行が追加されます。

#DeviceOS / appCorpus sliceResultDateNotes
A1iPhone 15 ProiOS 18.3, native CameraAll QR fixturespass2026-04-10
A2iPhone 15 ProiOS 18.3, native CameraAztec, PDF417, Data Matrixfail2026-04-10ネイティブでデコードするものはありません(想定どおり、/standards/non-qr-2d/ を参照)
A3iPhone 15 ProiOS 18.3, native CameraAAMVA PDF417partial2026-04-10iOS 17以降の免許証対応フローは「Walletに追加」を提示しますが、生のPDF417は返されません
A4iPhone 15 ProiOS 18.3, WalleteSIM LPApass2026-04-12eSIM追加のフローが正しく起動します
A5Pixel 8Android 14, native CameraAll QR fixturespass2026-04-10
A6Pixel 8Android 14, Google LensData Matrixpass2026-04-10
A7Pixel 8Android 14, Google LensAztec, PDF417partial2026-04-10一部のバリアントはデコードできますが、対応にばらつきがあります
A8Zebra DS8100firmware CAAACS00-002-R06All 2D + 1D fixturespass2026-04-11産業用イメージャー、正式なリファレンス
A9Google Authenticatorv7.0+ (iOS/Android)TOTP, HOTPpass2026-04-12SHA-1のみ、6桁(Googleの事実上のプロファイルに従い、アルゴリズム/桁数パラメータは無視されます)
A101Passwordv8 (iOS/Android/macOS)TOTP, HOTPpass2026-04-12SHA-256、SHA-512、8桁を含む完全なRFC対応

今後の予定

関連ページ

コーパスの最終リグレッションテスト日: 2026-04-18。検証済みデバイス: iPhone 15 Pro / iOS 18.3、Pixel 8 / Android 14、Zebra DS8100。