{
  "benchmarkDate": "2026-09-15",
  "scope": "Synthetic, black-on-white PNGs decoded in-process with jsQR after generation with node-qrcode.",
  "caveat": "A software decode is not a physical print test and does not establish compatibility with every camera, reader, material, distance, lighting condition, or payload handler.",
  "encoder": "qrcode 1.5.4",
  "decoder": "jsqr 1.4.0",
  "sizes": [
    200,
    300,
    400,
    500
  ],
  "fixtures": [
    {
      "id": "menu-url",
      "label": "HTTPS menu URL",
      "payload": "https://example.com/menu?table=12&lang=en",
      "utf8Bytes": 41,
      "image": "/benchmarks/qr-generator/menu-url.png",
      "imageSha256": "82579b494dcdc83944454f35d83a6439b71ab7ecb60fdfc264abc7bd19d67916",
      "errorCorrection": "M",
      "quietZoneModules": 4,
      "sizes": [
        {
          "size": 200,
          "decoded": true,
          "decodedPayloadMatches": true
        },
        {
          "size": 300,
          "decoded": true,
          "decodedPayloadMatches": true
        },
        {
          "size": 400,
          "decoded": true,
          "decodedPayloadMatches": true
        },
        {
          "size": 500,
          "decoded": true,
          "decodedPayloadMatches": true
        }
      ]
    },
    {
      "id": "wifi-special-characters",
      "label": "Escaped Wi-Fi fields",
      "payload": "WIFI:T:WPA;S:Cafe\\;Guest\\\\5G\\\";P:p\\:a\\,ss\\;\\\\word\\\";H:true;;",
      "utf8Bytes": 60,
      "image": "/benchmarks/qr-generator/wifi-special-characters.png",
      "imageSha256": "782101a01f96f8ca9b404e7430b77dc6aa593a518386567193b01d9da7147551",
      "errorCorrection": "M",
      "quietZoneModules": 4,
      "sizes": [
        {
          "size": 200,
          "decoded": true,
          "decodedPayloadMatches": true
        },
        {
          "size": 300,
          "decoded": true,
          "decodedPayloadMatches": true
        },
        {
          "size": 400,
          "decoded": true,
          "decodedPayloadMatches": true
        },
        {
          "size": 500,
          "decoded": true,
          "decodedPayloadMatches": true
        }
      ]
    },
    {
      "id": "vcard-contact",
      "label": "RFC 6350 vCard 4.0 contact",
      "payload": "BEGIN:VCARD\r\nVERSION:4.0\r\nFN:Sam Rivera\r\nORG:Example\\, Studio\r\nTEL;TYPE=cell;VALUE=uri:tel:+12125551212\r\nEMAIL:sam@example.com\r\nURL:https://example.com\r\nEND:VCARD\r\n",
      "utf8Bytes": 164,
      "image": "/benchmarks/qr-generator/vcard-contact.png",
      "imageSha256": "ebe2d0d9f3ebe15ea1e847d5a55d895a13d92a39a36dd65669f59d504c7d8ced",
      "errorCorrection": "M",
      "quietZoneModules": 4,
      "sizes": [
        {
          "size": 200,
          "decoded": true,
          "decodedPayloadMatches": true
        },
        {
          "size": 300,
          "decoded": true,
          "decodedPayloadMatches": true
        },
        {
          "size": 400,
          "decoded": true,
          "decodedPayloadMatches": true
        },
        {
          "size": 500,
          "decoded": true,
          "decodedPayloadMatches": true
        }
      ]
    },
    {
      "id": "calendar-event",
      "label": "RFC 5545 calendar event",
      "payload": "BEGIN:VCALENDAR\r\nVERSION:2.0\r\nPRODID:-//Mizakii//QR Generator//EN\r\nBEGIN:VEVENT\r\nUID:qr-8fff7ff5@mizakii.com\r\nDTSTAMP:20260915T000000Z\r\nDTSTART:20261003T100000\r\nDTEND:20261003T113000\r\nSUMMARY:Community workshop\r\nLOCATION:Room 12\\, Example Library\r\nDESCRIPTION:Bring a laptop\\; adapters are available.\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n",
      "utf8Bytes": 329,
      "image": "/benchmarks/qr-generator/calendar-event.png",
      "imageSha256": "340ce7246f6548d65cf5a9612ba9b5f203ca5ccba1489da66c3610224c9479b2",
      "errorCorrection": "M",
      "quietZoneModules": 4,
      "sizes": [
        {
          "size": 200,
          "decoded": true,
          "decodedPayloadMatches": true
        },
        {
          "size": 300,
          "decoded": true,
          "decodedPayloadMatches": true
        },
        {
          "size": 400,
          "decoded": true,
          "decodedPayloadMatches": true
        },
        {
          "size": 500,
          "decoded": true,
          "decodedPayloadMatches": true
        }
      ]
    },
    {
      "id": "plain-text",
      "label": "UTF-8 plain text",
      "payload": "Synthetic QR benchmark: café, 日本語, and emoji ✅",
      "utf8Bytes": 55,
      "image": "/benchmarks/qr-generator/plain-text.png",
      "imageSha256": "28e1a2ecd12cbc7ffaf4f66a5d10cf9de407144ed69e79aa789be5a655e95225",
      "errorCorrection": "M",
      "quietZoneModules": 4,
      "sizes": [
        {
          "size": 200,
          "decoded": true,
          "decodedPayloadMatches": true
        },
        {
          "size": 300,
          "decoded": true,
          "decodedPayloadMatches": true
        },
        {
          "size": 400,
          "decoded": true,
          "decodedPayloadMatches": true
        },
        {
          "size": 500,
          "decoded": true,
          "decodedPayloadMatches": true
        }
      ]
    }
  ]
}
