{
  "reviewed": "2026-09-30",
  "method": "Generated raster images decoded by the QRhop jsQR 1.4.0 image decoder in Node.js. No camera, printer, paper or physical scan-distance test.",
  "decoderSha256": "bc40c8a15196236b2314db0856f72ca0b49980cd5413b8c852a7349f5fee0859",
  "cases": [
    {
      "id": "link-clear",
      "file": "link-clear.png",
      "width": 264,
      "height": 264,
      "modulePixels": 8,
      "expected": "https://qrhop.makeup/",
      "decoded": "https://qrhop.makeup/",
      "matches": true,
      "sha256": "4a36aa11e3946f5c20c025dde6d7dd282a54e7a2b9bc85df226c1ea3eb352353"
    },
    {
      "id": "link-small",
      "file": "link-small.png",
      "width": 33,
      "height": 33,
      "modulePixels": 1,
      "expected": "https://qrhop.makeup/",
      "decoded": "https://qrhop.makeup/",
      "matches": true,
      "sha256": "6558a76a37ab967ce4517e848035eec2cdeaff174cd337a514d01c6d64dc55b3"
    },
    {
      "id": "link-cropped",
      "file": "link-cropped.png",
      "width": 163,
      "height": 264,
      "modulePixels": null,
      "expected": "https://qrhop.makeup/",
      "decoded": null,
      "matches": false,
      "sha256": "2ec74cd97529625f87b6eef86cc9afc475cb1eac96c3fe3a5588ee672a54d79b"
    },
    {
      "id": "text-clear",
      "file": "text-clear.png",
      "width": 296,
      "height": 296,
      "modulePixels": 8,
      "expected": "QRhop sample: this is text, not a website.",
      "decoded": "QRhop sample: this is text, not a website.",
      "matches": true,
      "sha256": "2cd06e332619c7aad36cba150e0ca86e62e0a85e86c77ee1d7ff33ba0fe198b4"
    }
  ]
}
