{
  "schemaVersion": "1.0",
  "releaseId": "2026-07-22-v1",
  "title": "QR Code Export Readability Benchmark",
  "publishedDate": "2026-07-22",
  "updatedDate": "2026-07-22",
  "pageUrl": "https://qrcodecrafter.com/qr-code-safety-lab#export-readability-benchmark",
  "datasetUrl": "https://qrcodecrafter.com/data/qr-readability-lab-v1.json",
  "methodologyUrl": "https://qrcodecrafter.com/data/qr-readability-lab-methodology-v1.md",
  "fixtureArchiveUrl": "https://qrcodecrafter.com/data/qr-readability-lab-v1-fixtures.zip",
  "releaseArchiveUrl": "https://qrcodecrafter.com/data/qr-readability-lab-v1-release.zip",
  "releaseManifestUrl": "https://qrcodecrafter.com/data/qr-readability-lab-v1-manifest.json",
  "scope": "Deterministic local rendering and exact-payload decoding of controlled QR file fixtures.",
  "measurement": "Exact source-payload recovery by the published jsQR fallback decoder after rendering with Sharp.",
  "software": {
    "node": "v20.18.1",
    "qrcode": "1.5.4",
    "sharp": "0.35.3",
    "jsqr": "1.4.0"
  },
  "citation": {
    "text": "QR Code Export Readability Benchmark. 2026-07-22-v1. QR Code Crafter, Brand Aspect Ltd. https://qrcodecrafter.com/qr-code-safety-lab#export-readability-benchmark",
    "bibtexUrl": "https://qrcodecrafter.com/data/qr-readability-lab-v1.bib",
    "risUrl": "https://qrcodecrafter.com/data/qr-readability-lab-v1.ris",
    "cffUrl": "https://qrcodecrafter.com/data/qr-readability-lab-v1.cff"
  },
  "publisher": {
    "name": "QR Code Crafter",
    "legalName": "Brand Aspect Ltd",
    "url": "https://qrcodecrafter.com",
    "legalInformationUrl": "https://qrcodecrafter.com/imprint"
  },
  "corrections": {
    "email": "contact@qrcodecrafter.com",
    "policy": "Report factual or reproducibility issues with the release identifier and fixture ID."
  },
  "summary": {
    "testCases": 21,
    "exactDecodes": 19,
    "notDecoded": 2,
    "baselineCases": 4,
    "baselineExactDecodes": 4,
    "stressedCases": 17
  },
  "results": [
    {
      "id": "png-clean-256",
      "format": "png",
      "conditionKey": "clean",
      "baseline": true,
      "payloadKey": "url",
      "payloadBytes": 61,
      "errorCorrectionLevel": "M",
      "configuredWidth": 256,
      "observedWidth": 256,
      "observedHeight": 256,
      "marginModules": 4,
      "quality": null,
      "blurSigma": null,
      "rotateDegrees": null,
      "obstructionFraction": null,
      "fixturePath": "fixtures/png-clean-256.png",
      "exactDecode": true
    },
    {
      "id": "jpg-clean-256",
      "format": "jpg",
      "conditionKey": "clean",
      "baseline": true,
      "payloadKey": "url",
      "payloadBytes": 61,
      "errorCorrectionLevel": "M",
      "configuredWidth": 256,
      "observedWidth": 256,
      "observedHeight": 256,
      "marginModules": 4,
      "quality": 90,
      "blurSigma": null,
      "rotateDegrees": null,
      "obstructionFraction": null,
      "fixturePath": "fixtures/jpg-clean-256.jpg",
      "exactDecode": true
    },
    {
      "id": "webp-clean-256",
      "format": "webp",
      "conditionKey": "clean",
      "baseline": true,
      "payloadKey": "url",
      "payloadBytes": 61,
      "errorCorrectionLevel": "M",
      "configuredWidth": 256,
      "observedWidth": 256,
      "observedHeight": 256,
      "marginModules": 4,
      "quality": 90,
      "blurSigma": null,
      "rotateDegrees": null,
      "obstructionFraction": null,
      "fixturePath": "fixtures/webp-clean-256.webp",
      "exactDecode": true
    },
    {
      "id": "svg-clean-256",
      "format": "svg",
      "conditionKey": "clean",
      "baseline": true,
      "payloadKey": "url",
      "payloadBytes": 61,
      "errorCorrectionLevel": "M",
      "configuredWidth": 256,
      "observedWidth": 256,
      "observedHeight": 256,
      "marginModules": 4,
      "quality": null,
      "blurSigma": null,
      "rotateDegrees": null,
      "obstructionFraction": null,
      "fixturePath": "fixtures/svg-clean-256.svg",
      "exactDecode": true
    },
    {
      "id": "png-small-96",
      "format": "png",
      "conditionKey": "small",
      "baseline": false,
      "payloadKey": "url",
      "payloadBytes": 61,
      "errorCorrectionLevel": "M",
      "configuredWidth": 96,
      "observedWidth": 96,
      "observedHeight": 96,
      "marginModules": 4,
      "quality": null,
      "blurSigma": null,
      "rotateDegrees": null,
      "obstructionFraction": null,
      "fixturePath": "fixtures/png-small-96.png",
      "exactDecode": true
    },
    {
      "id": "png-small-64",
      "format": "png",
      "conditionKey": "small",
      "baseline": false,
      "payloadKey": "url",
      "payloadBytes": 61,
      "errorCorrectionLevel": "M",
      "configuredWidth": 64,
      "observedWidth": 64,
      "observedHeight": 64,
      "marginModules": 4,
      "quality": null,
      "blurSigma": null,
      "rotateDegrees": null,
      "obstructionFraction": null,
      "fixturePath": "fixtures/png-small-64.png",
      "exactDecode": true
    },
    {
      "id": "png-quiet-zone-2",
      "format": "png",
      "conditionKey": "reducedQuietZone",
      "baseline": false,
      "payloadKey": "url",
      "payloadBytes": 61,
      "errorCorrectionLevel": "M",
      "configuredWidth": 256,
      "observedWidth": 256,
      "observedHeight": 256,
      "marginModules": 2,
      "quality": null,
      "blurSigma": null,
      "rotateDegrees": null,
      "obstructionFraction": null,
      "fixturePath": "fixtures/png-quiet-zone-2.png",
      "exactDecode": true
    },
    {
      "id": "png-quiet-zone-0",
      "format": "png",
      "conditionKey": "noQuietZone",
      "baseline": false,
      "payloadKey": "url",
      "payloadBytes": 61,
      "errorCorrectionLevel": "M",
      "configuredWidth": 256,
      "observedWidth": 256,
      "observedHeight": 256,
      "marginModules": 0,
      "quality": null,
      "blurSigma": null,
      "rotateDegrees": null,
      "obstructionFraction": null,
      "fixturePath": "fixtures/png-quiet-zone-0.png",
      "exactDecode": true
    },
    {
      "id": "png-low-contrast",
      "format": "png",
      "conditionKey": "lowContrast",
      "baseline": false,
      "payloadKey": "url",
      "payloadBytes": 61,
      "errorCorrectionLevel": "M",
      "configuredWidth": 256,
      "observedWidth": 256,
      "observedHeight": 256,
      "marginModules": 4,
      "quality": null,
      "blurSigma": null,
      "rotateDegrees": null,
      "obstructionFraction": null,
      "fixturePath": "fixtures/png-low-contrast.png",
      "exactDecode": true
    },
    {
      "id": "png-very-low-contrast",
      "format": "png",
      "conditionKey": "lowContrast",
      "baseline": false,
      "payloadKey": "url",
      "payloadBytes": 61,
      "errorCorrectionLevel": "M",
      "configuredWidth": 256,
      "observedWidth": 256,
      "observedHeight": 256,
      "marginModules": 4,
      "quality": null,
      "blurSigma": null,
      "rotateDegrees": null,
      "obstructionFraction": null,
      "fixturePath": "fixtures/png-very-low-contrast.png",
      "exactDecode": false
    },
    {
      "id": "jpg-quality-45",
      "format": "jpg",
      "conditionKey": "heavyCompression",
      "baseline": false,
      "payloadKey": "url",
      "payloadBytes": 61,
      "errorCorrectionLevel": "M",
      "configuredWidth": 256,
      "observedWidth": 256,
      "observedHeight": 256,
      "marginModules": 4,
      "quality": 45,
      "blurSigma": null,
      "rotateDegrees": null,
      "obstructionFraction": null,
      "fixturePath": "fixtures/jpg-quality-45.jpg",
      "exactDecode": true
    },
    {
      "id": "jpg-quality-15",
      "format": "jpg",
      "conditionKey": "heavyCompression",
      "baseline": false,
      "payloadKey": "url",
      "payloadBytes": 61,
      "errorCorrectionLevel": "M",
      "configuredWidth": 256,
      "observedWidth": 256,
      "observedHeight": 256,
      "marginModules": 4,
      "quality": 15,
      "blurSigma": null,
      "rotateDegrees": null,
      "obstructionFraction": null,
      "fixturePath": "fixtures/jpg-quality-15.jpg",
      "exactDecode": true
    },
    {
      "id": "png-blur-0-8",
      "format": "png",
      "conditionKey": "blur",
      "baseline": false,
      "payloadKey": "url",
      "payloadBytes": 61,
      "errorCorrectionLevel": "M",
      "configuredWidth": 256,
      "observedWidth": 256,
      "observedHeight": 256,
      "marginModules": 4,
      "quality": null,
      "blurSigma": 0.8,
      "rotateDegrees": null,
      "obstructionFraction": null,
      "fixturePath": "fixtures/png-blur-0-8.png",
      "exactDecode": true
    },
    {
      "id": "png-blur-2-0",
      "format": "png",
      "conditionKey": "blur",
      "baseline": false,
      "payloadKey": "url",
      "payloadBytes": 61,
      "errorCorrectionLevel": "M",
      "configuredWidth": 256,
      "observedWidth": 256,
      "observedHeight": 256,
      "marginModules": 4,
      "quality": null,
      "blurSigma": 2,
      "rotateDegrees": null,
      "obstructionFraction": null,
      "fixturePath": "fixtures/png-blur-2-0.png",
      "exactDecode": true
    },
    {
      "id": "png-rotate-8",
      "format": "png",
      "conditionKey": "rotation",
      "baseline": false,
      "payloadKey": "url",
      "payloadBytes": 61,
      "errorCorrectionLevel": "M",
      "configuredWidth": 256,
      "observedWidth": 289,
      "observedHeight": 289,
      "marginModules": 4,
      "quality": null,
      "blurSigma": null,
      "rotateDegrees": 8,
      "obstructionFraction": null,
      "fixturePath": "fixtures/png-rotate-8.png",
      "exactDecode": true
    },
    {
      "id": "png-rotate-18",
      "format": "png",
      "conditionKey": "rotation",
      "baseline": false,
      "payloadKey": "url",
      "payloadBytes": 61,
      "errorCorrectionLevel": "M",
      "configuredWidth": 256,
      "observedWidth": 323,
      "observedHeight": 323,
      "marginModules": 4,
      "quality": null,
      "blurSigma": null,
      "rotateDegrees": 18,
      "obstructionFraction": null,
      "fixturePath": "fixtures/png-rotate-18.png",
      "exactDecode": true
    },
    {
      "id": "png-center-obstruction-h-12",
      "format": "png",
      "conditionKey": "centerObstruction",
      "baseline": false,
      "payloadKey": "url",
      "payloadBytes": 61,
      "errorCorrectionLevel": "H",
      "configuredWidth": 256,
      "observedWidth": 256,
      "observedHeight": 256,
      "marginModules": 4,
      "quality": null,
      "blurSigma": null,
      "rotateDegrees": null,
      "obstructionFraction": 0.12,
      "fixturePath": "fixtures/png-center-obstruction-h-12.png",
      "exactDecode": true
    },
    {
      "id": "png-center-obstruction-m-28",
      "format": "png",
      "conditionKey": "centerObstruction",
      "baseline": false,
      "payloadKey": "url",
      "payloadBytes": 61,
      "errorCorrectionLevel": "M",
      "configuredWidth": 256,
      "observedWidth": 256,
      "observedHeight": 256,
      "marginModules": 4,
      "quality": null,
      "blurSigma": null,
      "rotateDegrees": null,
      "obstructionFraction": 0.28,
      "fixturePath": "fixtures/png-center-obstruction-m-28.png",
      "exactDecode": false
    },
    {
      "id": "png-dense-256",
      "format": "png",
      "conditionKey": "densePayload",
      "baseline": false,
      "payloadKey": "dense",
      "payloadBytes": 191,
      "errorCorrectionLevel": "M",
      "configuredWidth": 256,
      "observedWidth": 256,
      "observedHeight": 256,
      "marginModules": 4,
      "quality": null,
      "blurSigma": null,
      "rotateDegrees": null,
      "obstructionFraction": null,
      "fixturePath": "fixtures/png-dense-256.png",
      "exactDecode": true
    },
    {
      "id": "png-dense-128",
      "format": "png",
      "conditionKey": "densePayload",
      "baseline": false,
      "payloadKey": "dense",
      "payloadBytes": 191,
      "errorCorrectionLevel": "M",
      "configuredWidth": 128,
      "observedWidth": 128,
      "observedHeight": 128,
      "marginModules": 4,
      "quality": null,
      "blurSigma": null,
      "rotateDegrees": null,
      "obstructionFraction": null,
      "fixturePath": "fixtures/png-dense-128.png",
      "exactDecode": true
    },
    {
      "id": "png-wifi-192",
      "format": "png",
      "conditionKey": "clean",
      "baseline": false,
      "payloadKey": "wifi",
      "payloadBytes": 41,
      "errorCorrectionLevel": "M",
      "configuredWidth": 192,
      "observedWidth": 192,
      "observedHeight": 192,
      "marginModules": 4,
      "quality": null,
      "blurSigma": null,
      "rotateDegrees": null,
      "obstructionFraction": null,
      "fixturePath": "fixtures/png-wifi-192.png",
      "exactDecode": true
    }
  ]
}
