{
  "title": "ToolkitPoint browser image-format benchmark",
  "generatedAt": "2026-09-15",
  "method": {
    "browser": "chrome.exe",
    "dimensions": "800x500",
    "scenes": [
      "photo-like synthetic scene",
      "flat graphic with text and gradients",
      "document-scan simulation"
    ],
    "comparison": "Browser Canvas encoders; PNG is the per-scene size baseline. PSNR compares decoded RGB pixels with the original canvas. Higher PSNR means less pixel error.",
    "limitations": "Synthetic scenes are reproducible but cannot represent every camera, screenshot, transparency, colour-profile, metadata, or browser-encoder workload."
  },
  "rows": [
    {
      "scene": "photo-like",
      "label": "PNG",
      "mime": "image/png",
      "quality": null,
      "bytes": 375241,
      "kilobytes": 366.4,
      "percentOfPng": 100,
      "psnrDb": null
    },
    {
      "scene": "photo-like",
      "label": "JPEG 90",
      "mime": "image/jpeg",
      "quality": 0.9,
      "bytes": 49107,
      "kilobytes": 48,
      "percentOfPng": 13.1,
      "psnrDb": 41.12
    },
    {
      "scene": "photo-like",
      "label": "JPEG 75",
      "mime": "image/jpeg",
      "quality": 0.75,
      "bytes": 27446,
      "kilobytes": 26.8,
      "percentOfPng": 7.3,
      "psnrDb": 39.01
    },
    {
      "scene": "photo-like",
      "label": "JPEG 55",
      "mime": "image/jpeg",
      "quality": 0.55,
      "bytes": 19084,
      "kilobytes": 18.6,
      "percentOfPng": 5.1,
      "psnrDb": 37.55
    },
    {
      "scene": "photo-like",
      "label": "WebP 85",
      "mime": "image/webp",
      "quality": 0.85,
      "bytes": 19184,
      "kilobytes": 18.7,
      "percentOfPng": 5.1,
      "psnrDb": 40.53
    },
    {
      "scene": "photo-like",
      "label": "WebP 70",
      "mime": "image/webp",
      "quality": 0.7,
      "bytes": 12220,
      "kilobytes": 11.9,
      "percentOfPng": 3.3,
      "psnrDb": 38.11
    },
    {
      "scene": "photo-like",
      "label": "WebP 50",
      "mime": "image/webp",
      "quality": 0.5,
      "bytes": 9856,
      "kilobytes": 9.6,
      "percentOfPng": 2.6,
      "psnrDb": 37.04
    },
    {
      "scene": "flat-graphic",
      "label": "PNG",
      "mime": "image/png",
      "quality": null,
      "bytes": 96056,
      "kilobytes": 93.8,
      "percentOfPng": 100,
      "psnrDb": null
    },
    {
      "scene": "flat-graphic",
      "label": "JPEG 90",
      "mime": "image/jpeg",
      "quality": 0.9,
      "bytes": 31846,
      "kilobytes": 31.1,
      "percentOfPng": 33.2,
      "psnrDb": 38.89
    },
    {
      "scene": "flat-graphic",
      "label": "JPEG 75",
      "mime": "image/jpeg",
      "quality": 0.75,
      "bytes": 22661,
      "kilobytes": 22.1,
      "percentOfPng": 23.6,
      "psnrDb": 37.22
    },
    {
      "scene": "flat-graphic",
      "label": "JPEG 55",
      "mime": "image/jpeg",
      "quality": 0.55,
      "bytes": 18192,
      "kilobytes": 17.8,
      "percentOfPng": 18.9,
      "psnrDb": 34.97
    },
    {
      "scene": "flat-graphic",
      "label": "WebP 85",
      "mime": "image/webp",
      "quality": 0.85,
      "bytes": 11460,
      "kilobytes": 11.2,
      "percentOfPng": 11.9,
      "psnrDb": 38.95
    },
    {
      "scene": "flat-graphic",
      "label": "WebP 70",
      "mime": "image/webp",
      "quality": 0.7,
      "bytes": 8928,
      "kilobytes": 8.7,
      "percentOfPng": 9.3,
      "psnrDb": 38.09
    },
    {
      "scene": "flat-graphic",
      "label": "WebP 50",
      "mime": "image/webp",
      "quality": 0.5,
      "bytes": 8010,
      "kilobytes": 7.8,
      "percentOfPng": 8.3,
      "psnrDb": 37.56
    },
    {
      "scene": "document-scan",
      "label": "PNG",
      "mime": "image/png",
      "quality": null,
      "bytes": 101020,
      "kilobytes": 98.7,
      "percentOfPng": 100,
      "psnrDb": null
    },
    {
      "scene": "document-scan",
      "label": "JPEG 90",
      "mime": "image/jpeg",
      "quality": 0.9,
      "bytes": 28508,
      "kilobytes": 27.8,
      "percentOfPng": 28.2,
      "psnrDb": 42.48
    },
    {
      "scene": "document-scan",
      "label": "JPEG 75",
      "mime": "image/jpeg",
      "quality": 0.75,
      "bytes": 21403,
      "kilobytes": 20.9,
      "percentOfPng": 21.2,
      "psnrDb": 40.08
    },
    {
      "scene": "document-scan",
      "label": "JPEG 55",
      "mime": "image/jpeg",
      "quality": 0.55,
      "bytes": 17927,
      "kilobytes": 17.5,
      "percentOfPng": 17.7,
      "psnrDb": 37.34
    },
    {
      "scene": "document-scan",
      "label": "WebP 85",
      "mime": "image/webp",
      "quality": 0.85,
      "bytes": 6910,
      "kilobytes": 6.7,
      "percentOfPng": 6.8,
      "psnrDb": 42.74
    },
    {
      "scene": "document-scan",
      "label": "WebP 70",
      "mime": "image/webp",
      "quality": 0.7,
      "bytes": 5240,
      "kilobytes": 5.1,
      "percentOfPng": 5.2,
      "psnrDb": 40.75
    },
    {
      "scene": "document-scan",
      "label": "WebP 50",
      "mime": "image/webp",
      "quality": 0.5,
      "bytes": 4452,
      "kilobytes": 4.3,
      "percentOfPng": 4.4,
      "psnrDb": 40.04
    }
  ]
}
