Study: results and method
ImgTune was checked against real sites before it was packaged. Six production sites decided whether it was worth building; eight open-source apps were scanned for comparison and do not decide. The site list was fixed before the first scan and kept private, because it names the production sites. Here they are anonymous: A1 to A6.
TL;DR
Results
- 6 production sites (the deciders): the estimated saving is 16.5% to 53.1% of image bytes per view on all six. The kill criterion, fixed in advance, was set on the smaller-file part alone: 2 of 6 above 15%, a pass at the bar.
- 200 more production sites, anonymous: the median site loads 1,830 KB of images per view and could cut 16.7% of them. 84 of 200 (42%) could save 20% or more. Most of the estimate is re-encodes: few sites ship a smaller
srcsetcandidate that goes unused. - 8 open-source apps: developer sites carry few image bytes. The waste sits in image-heavy commerce.
Method
- Each site is scanned once, in headless Chromium: 2 pages, 6 viewports, scrolled to the end.
- The estimated saving is built as described in How it measures. Re-encodes count only when SSIMULACRA2 stays within a delta of 2 of the original.
- robots.txt is respected, and sites behind bot walls are dropped. The sample leans toward sites without them.
- Any stack: the scan measures the live page, not the source. Details are in Method and Limits.
Method
- Every site is scanned once with the same tool version: 2 pages, 6 viewports (four phones, a 1440 px desktop at 2x and a 1280 px desktop at 1x), SSIMULACRA2 at a delta of 2.
- Each page is loaded in headless Chromium, scrolled to the end, and every image is recorded with the size it renders at.
- Saving is the share of all image bytes per page view. It is averaged over the viewports, then over the two pages.
- Estimated saving is the one number reported here. It is built as in How it measures, with re-encodes judged by SSIMULACRA2 against the original.
- Sharpness growth (images smaller than their slot) is reported apart and never subtracted from another image's saving.
The kill criterion was fixed in advance: a pass needs at least 2 of the 6 production sites above 15%.
Production sites (v4)
| site | KB / view | estimated saving | of fixable |
|---|---|---|---|
| A1 | 3,250 | 33.2% | 50.4% |
| A2 | 1,263 | 53.1% | 64.8% |
| A3 | 3,355 | 38.2% | 50.1% |
| A4 | 9,254 | 35.9% | 62.0% |
| A5 | 7,714 | 16.5% | 21.9% |
| A6 | 9,078 | 27.7% | 43.9% |
Kill criterion (fixed in advance, on the smaller-file part alone): 2 of 6 above 15%, a pass at the bar. On the estimated saving: 6 of 6.
Open-source apps (v4, do not decide)
| site | KB / view | estimated saving | of fixable |
|---|---|---|---|
| tailwindcss.com | 4,508 | 4.2% | 9.6% |
| ui.shadcn.com | 238 | 33.7% | 42.0% |
| supabase.com | 671 | 20.8% | 48.0% |
| nextjs.org | 162 | 19.2% | 21.4% |
| turborepo.com | 77 | 21.4% | 21.4% |
| langfuse.com | 3,149 | 1.8% | 21.7% |
| docs.sentry.io | 85 | 0.0% | 0.0% |
| www.openstatus.dev | 152 | 4.2% | 31.7% |
Developer sites carry few image bytes. The waste sits in image-heavy commerce.
More production sites (anonymous)
These are 200 real public sites, scanned on 2026-10-29 to 2026-10-31 with the same CLI: 2 pages each, 6 viewports, the same rules as the six above. The owners were not asked, so the sites stay anonymous. Labels P001 onward are assigned by rank (highest estimated saving first), not by name or scan order. KB values are rounded to the nearest 10. The sites are a mix of stacks: 7 named ones (Next.js, Shopify, WordPress, Astro, Nuxt, Webflow, Gatsby), and 49 that no named stack covers.
How the sites were picked. Public directories, showcases and company lists, any stack. Each was scanned on its homepage and on one image-heavy inner page. robots.txt was respected. Sites that block bots were dropped, so the sample leans toward sites without bot walls. The scan measures the live page in a browser, so it works on any site, whatever built it.
- 200sites scanned7 named stacks, 2026-10-29 to 2026-10-31
- 1,830KBmedian image weight per view
- 16.7%median estimated saving
- 42.0%of sites could save 20% or more84 of 200 sites
- 221.8MBsaved per page view, summed over all sites
84 of 200 sites (42.0%) could save 20% or more of their image bytes. The median is 16.7%.
AI & SaaS ranks highest at 32.0% (n=28). The median across all 200 sites is 16.7%.
Sites at 1,000 KB per view or more have a median saving of 18.1% (n=148). Lighter sites: 13.1% (n=52).
All 200 sites. Pick a category or a stack to highlight it.
Nuxt ranks highest at 29.5% (n=6). The median across all 200 sites is 16.7%.
All 200 sites
| id | category | stack | image KB / view | estimated saving | fixable | saved KB / view |
|---|---|---|---|---|---|---|
| P001 | Travel & hospitality | Next.js | 19,700 | 88.5% | 94.9% | 17,280 |
| P002 | AI & SaaS | Next.js | 860 | 87.5% | 90.5% | 750 |
| P003 | Finance | Next.js | 4,560 | 85.9% | 92.3% | 3,940 |
| P004 | AI & SaaS | Next.js | 5,510 | 83.6% | 88.7% | 4,900 |
| P005 | AI & SaaS | Next.js | 1,890 | 81.0% | 86.6% | 1,520 |
| P006 | AI & SaaS | Next.js | 12,910 | 78.2% | 82.5% | 10,400 |
| P007 | E-commerce & brands | Next.js | 9,490 | 71.9% | 79.9% | 6,420 |
| P008 | Media & publishing | Next.js | 3,500 | 67.2% | 72.6% | 2,390 |
| P009 | AI & SaaS | Next.js | 8,150 | 66.5% | 72.9% | 5,230 |
| P010 | Agencies & portfolios | Other / unknown | 5,810 | 59.8% | 66.8% | 4,310 |
| P011 | Media & publishing | Astro | 2,970 | 59.4% | 63.8% | 1,700 |
| P012 | E-commerce & brands | Shopify | 7,620 | 57.5% | 65.4% | 5,380 |
| P013 | Media & publishing | WordPress | 7,250 | 57.1% | 67.4% | 4,130 |
| P014 | E-commerce & brands | Astro | 750 | 56.9% | 70.4% | 430 |
| P015 | AI & SaaS | Next.js | 4,340 | 56.7% | 73.8% | 2,170 |
| P016 | Education | Next.js | 5,110 | 55.7% | 76.1% | 3,160 |
| P017 | AI & SaaS | Next.js | 6,550 | 54.7% | 69.5% | 2,700 |
| P018 | AI & SaaS | Next.js | 700 | 52.9% | 80.7% | 350 |
| P019 | E-commerce & brands | Shopify | 20,780 | 51.1% | 64.0% | 11,160 |
| P020 | E-commerce & brands | Next.js | 9,470 | 46.2% | 63.9% | 6,510 |
| P021 | E-commerce & brands | Next.js | 2,230 | 45.5% | 63.8% | 1,020 |
| P022 | Developer tools | Next.js | 800 | 44.8% | 53.9% | 400 |
| P023 | Marketplaces | Other / unknown | 2,750 | 44.7% | 49.6% | 1,390 |
| P024 | Finance | Next.js | 1,190 | 44.7% | 66.3% | 680 |
| P025 | AI & SaaS | Next.js | 7,490 | 43.3% | 63.5% | 2,920 |
| P026 | Real estate | Webflow | 1,230 | 42.6% | 65.8% | 530 |
| P027 | Health & wellness | Nuxt | 3,240 | 41.7% | 58.0% | 1,410 |
| P028 | AI & SaaS | Next.js | 13,560 | 41.5% | 85.6% | 7,530 |
| P029 | Health & wellness | Next.js | 2,470 | 41.2% | 48.6% | 1,490 |
| P030 | AI & SaaS | Next.js | 1,330 | 40.7% | 66.8% | 550 |
| P031 | AI & SaaS | Next.js | 90 | 40.6% | 50.5% | 40 |
| P032 | E-commerce & brands | Shopify | 4,340 | 39.6% | 59.1% | 1,620 |
| P033 | E-commerce & brands | Other / unknown | 1,160 | 38.5% | 65.4% | 400 |
| P034 | Travel & hospitality | WordPress | 11,170 | 38.0% | 54.1% | 7,660 |
| P035 | AI & SaaS | Next.js | 18,420 | 37.9% | 70.4% | 10,530 |
| P036 | E-commerce & brands | Shopify | 3,370 | 37.8% | 68.7% | 1,760 |
| P037 | Media & publishing | Next.js | 2,980 | 37.4% | 57.4% | 1,030 |
| P038 | E-commerce & brands | Shopify | 2,970 | 36.5% | 50.4% | 1,080 |
| P039 | E-commerce & brands | Next.js | 12,320 | 36.4% | 92.6% | 4,560 |
| P040 | Other | Next.js | 11,540 | 36.1% | 66.1% | 4,540 |
| P041 | Education | Nuxt | 500 | 35.3% | 80.9% | 230 |
| P042 | Health & wellness | Other / unknown | 5,520 | 34.6% | 55.3% | 2,720 |
| P043 | Finance | Next.js | 1,700 | 34.5% | 49.7% | 590 |
| P044 | Marketplaces | Other / unknown | 1,150 | 34.4% | 43.5% | 640 |
| P045 | AI & SaaS | Next.js | 1,090 | 34.3% | 90.2% | 360 |
| P046 | E-commerce & brands | Shopify | 1,740 | 33.6% | 40.3% | 1,280 |
| P047 | Media & publishing | Other / unknown | 7,870 | 32.7% | 50.8% | 2,690 |
| P048 | Travel & hospitality | Nuxt | 3,370 | 31.1% | 58.8% | 790 |
| P049 | Travel & hospitality | Other / unknown | 2,990 | 31.0% | 46.5% | 1,780 |
| P050 | E-commerce & brands | Next.js | 3,890 | 30.0% | 49.6% | 1,420 |
| P051 | Media & publishing | Other / unknown | 14,750 | 29.8% | 60.3% | 4,500 |
| P052 | E-commerce & brands | Next.js | 7,530 | 29.6% | 53.4% | 1,470 |
| P053 | Media & publishing | WordPress | 1,650 | 29.6% | 77.3% | 440 |
| P054 | Education | Next.js | 890 | 29.6% | 59.6% | 220 |
| P055 | AI & SaaS | Next.js | 420 | 29.6% | 68.2% | 130 |
| P056 | Media & publishing | Other / unknown | 1,790 | 29.1% | 62.9% | 940 |
| P057 | E-commerce & brands | Other / unknown | 4,150 | 28.7% | 45.4% | 1,460 |
| P058 | E-commerce & brands | Shopify | 3,920 | 28.6% | 40.7% | 930 |
| P059 | Agencies & portfolios | Nuxt | 3,010 | 27.8% | 45.0% | 810 |
| P060 | Education | WordPress | 1,300 | 27.7% | 67.4% | 490 |
| P061 | Media & publishing | Other / unknown | 3,140 | 27.3% | 56.8% | 590 |
| P062 | Health & wellness | Shopify | 2,250 | 26.9% | 42.7% | 590 |
| P063 | E-commerce & brands | Shopify | 2,560 | 26.5% | 41.9% | 710 |
| P064 | Marketplaces | Other / unknown | 3,230 | 26.3% | 44.5% | 880 |
| P065 | Media & publishing | WordPress | 760 | 26.2% | 47.9% | 180 |
| P066 | Agencies & portfolios | Next.js | 2,360 | 25.7% | 54.5% | 390 |
| P067 | E-commerce & brands | Shopify | 2,670 | 25.3% | 41.6% | 610 |
| P068 | E-commerce & brands | Next.js | 510 | 25.3% | 28.3% | 150 |
| P069 | Media & publishing | Next.js | 2,240 | 25.2% | 54.4% | 580 |
| P070 | AI & SaaS | Next.js | 420 | 25.0% | 32.4% | 130 |
| P071 | E-commerce & brands | Other / unknown | 270 | 25.0% | 36.0% | 120 |
| P072 | Media & publishing | Shopify | 5,310 | 24.8% | 57.9% | 1,490 |
| P073 | E-commerce & brands | Other / unknown | 1,700 | 24.6% | 38.5% | 370 |
| P074 | E-commerce & brands | Shopify | 2,170 | 24.5% | 46.7% | 490 |
| P075 | E-commerce & brands | Shopify | 6,460 | 24.2% | 37.3% | 1,700 |
| P076 | Agencies & portfolios | WordPress | 4,910 | 24.2% | 57.1% | 1,150 |
| P077 | Travel & hospitality | Next.js | 1,220 | 24.0% | 49.3% | 270 |
| P078 | Health & wellness | Shopify | 5,100 | 23.7% | 45.4% | 1,280 |
| P079 | E-commerce & brands | Shopify | 1,290 | 23.1% | 33.5% | 260 |
| P080 | Other | Next.js | 830 | 21.9% | 36.8% | 120 |
| P081 | Media & publishing | Next.js | 2,830 | 21.1% | 29.0% | 600 |
| P082 | AI & SaaS | Next.js | 380 | 21.0% | 52.8% | 80 |
| P083 | Marketplaces | Next.js | 260 | 20.4% | 30.8% | 60 |
| P084 | Marketplaces | Astro | 1,360 | 20.2% | 34.5% | 320 |
| P085 | Developer tools | Next.js | 870 | 19.8% | 40.4% | 160 |
| P086 | Marketplaces | Shopify | 2,660 | 19.6% | 51.2% | 460 |
| P087 | Education | Next.js | 1,810 | 19.5% | 38.3% | 410 |
| P088 | Media & publishing | WordPress | 3,120 | 18.8% | 72.1% | 680 |
| P089 | Real estate | Next.js | 480 | 18.6% | 21.9% | 90 |
| P090 | Finance | Other / unknown | 1,610 | 18.5% | 74.2% | 240 |
| P091 | E-commerce & brands | Shopify | 860 | 18.3% | 31.9% | 140 |
| P092 | Media & publishing | Other / unknown | 41,720 | 18.2% | 68.9% | 3,370 |
| P093 | E-commerce & brands | Shopify | 4,600 | 18.0% | 55.6% | 830 |
| P094 | AI & SaaS | Next.js | 2,120 | 17.9% | 77.9% | 360 |
| P095 | Travel & hospitality | Other / unknown | 550 | 17.6% | 28.5% | 160 |
| P096 | E-commerce & brands | Shopify | 3,070 | 17.3% | 68.0% | 470 |
| P097 | E-commerce & brands | Shopify | 2,350 | 17.0% | 30.1% | 560 |
| P098 | Travel & hospitality | WordPress | 1,650 | 16.9% | 52.5% | 320 |
| P099 | Media & publishing | Next.js | 1,530 | 16.7% | 25.9% | 190 |
| P100 | Developer tools | Astro | 670 | 16.7% | 33.9% | 110 |
| P101 | AI & SaaS | Next.js | 280 | 16.7% | 64.4% | 50 |
| P102 | AI & SaaS | Next.js | 380 | 16.4% | 35.0% | 50 |
| P103 | Marketplaces | Next.js | 4,090 | 16.3% | 51.9% | 830 |
| P104 | Real estate | Next.js | 1,070 | 15.9% | 39.9% | 170 |
| P105 | AI & SaaS | Next.js | 1,150 | 15.7% | 56.4% | 200 |
| P106 | Finance | Next.js | 260 | 15.7% | 36.7% | 60 |
| P107 | Media & publishing | WordPress | 9,160 | 15.4% | 55.5% | 1,410 |
| P108 | Developer tools | Gatsby | 1,490 | 15.3% | 58.5% | 260 |
| P109 | Travel & hospitality | Next.js | 650 | 14.4% | 32.5% | 120 |
| P110 | Media & publishing | Other / unknown | 1,670 | 14.2% | 44.1% | 290 |
| P111 | Agencies & portfolios | Next.js | 820 | 14.2% | 16.0% | 120 |
| P112 | Media & publishing | WordPress | 2,390 | 14.0% | 52.4% | 450 |
| P113 | Media & publishing | WordPress | 1,220 | 13.9% | 33.9% | 190 |
| P114 | Media & publishing | Other / unknown | 3,660 | 13.6% | 63.3% | 1,010 |
| P115 | Agencies & portfolios | WordPress | 9,380 | 13.3% | 23.5% | 3,610 |
| P116 | Health & wellness | Next.js | 2,710 | 13.3% | 42.7% | 50 |
| P117 | Education | Next.js | 110 | 13.3% | 17.9% | 10 |
| P118 | Media & publishing | WordPress | 3,740 | 12.9% | 29.8% | 400 |
| P119 | E-commerce & brands | Next.js | 470 | 12.8% | 26.8% | 60 |
| P120 | Travel & hospitality | Other / unknown | 25,830 | 12.7% | 71.3% | 2,040 |
| P121 | Developer tools | Next.js | 1,000 | 12.4% | 35.4% | 160 |
| P122 | Finance | WordPress | 13,690 | 12.3% | 45.1% | 3,570 |
| P123 | Agencies & portfolios | Next.js | 680 | 12.2% | 35.1% | 80 |
| P124 | Media & publishing | WordPress | 2,900 | 12.0% | 51.9% | 390 |
| P125 | AI & SaaS | Next.js | 8,320 | 11.8% | 64.5% | 1,240 |
| P126 | Finance | Other / unknown | 1,640 | 11.4% | 24.6% | 330 |
| P127 | Developer tools | Next.js | 1,020 | 11.4% | 21.5% | 70 |
| P128 | E-commerce & brands | Other / unknown | 590 | 11.2% | 22.7% | 40 |
| P129 | Developer tools | Next.js | 540 | 10.8% | 23.5% | 70 |
| P130 | Media & publishing | Next.js | 1,070 | 10.7% | 21.4% | 140 |
| P131 | Education | Webflow | 820 | 10.4% | 28.9% | 100 |
| P132 | E-commerce & brands | Nuxt | 660 | 10.2% | 28.1% | 70 |
| P133 | E-commerce & brands | Other / unknown | 470 | 10.0% | 14.6% | 110 |
| P134 | Media & publishing | Other / unknown | 5,920 | 9.9% | 72.1% | 590 |
| P135 | Developer tools | Next.js | 770 | 9.4% | 21.3% | 70 |
| P136 | Developer tools | Astro | 410 | 9.2% | 29.3% | 40 |
| P137 | Real estate | Other / unknown | 50 | 9.0% | 26.5% | 10 |
| P138 | Developer tools | Next.js | 1,490 | 8.6% | 49.6% | 160 |
| P139 | E-commerce & brands | Shopify | 1,580 | 8.4% | 44.7% | 130 |
| P140 | AI & SaaS | Next.js | 1,110 | 8.4% | 30.9% | 60 |
| P141 | E-commerce & brands | Next.js | 18,320 | 8.3% | 22.0% | 2,370 |
| P142 | AI & SaaS | Next.js | 4,960 | 8.1% | 24.3% | 390 |
| P143 | Other | Next.js | 880 | 8.0% | 27.6% | 70 |
| P144 | Finance | Next.js | 1,000 | 7.9% | 24.6% | 90 |
| P145 | Travel & hospitality | Shopify | 5,710 | 7.8% | 65.0% | 380 |
| P146 | E-commerce & brands | Next.js | 1,210 | 7.8% | 20.3% | 70 |
| P147 | Real estate | Next.js | 3,640 | 7.5% | 38.4% | 280 |
| P148 | Health & wellness | Next.js | 1,200 | 7.4% | 27.0% | 70 |
| P149 | Developer tools | Next.js | 1,000 | 7.3% | 58.6% | 60 |
| P150 | Agencies & portfolios | Other / unknown | 760 | 6.8% | 7.8% | 100 |
| P151 | Agencies & portfolios | Other / unknown | 12,180 | 6.7% | 10.4% | 490 |
| P152 | Real estate | Next.js | 2,770 | 6.6% | 72.5% | 190 |
| P153 | Media & publishing | Other / unknown | 4,330 | 6.4% | 31.0% | 590 |
| P154 | Marketplaces | Next.js | 6,180 | 6.2% | 19.7% | 150 |
| P155 | E-commerce & brands | Shopify | 3,580 | 6.1% | 69.0% | 240 |
| P156 | E-commerce & brands | Shopify | 2,080 | 5.8% | 35.2% | 130 |
| P157 | Media & publishing | Astro | 2,530 | 5.7% | 34.9% | 180 |
| P158 | AI & SaaS | Next.js | 2,440 | 5.7% | 72.4% | 150 |
| P159 | Travel & hospitality | Other / unknown | 4,100 | 5.4% | 39.9% | 130 |
| P160 | Media & publishing | Astro | 4,420 | 5.3% | 65.3% | 230 |
| P161 | Marketplaces | Other / unknown | 1,660 | 5.3% | 27.7% | 130 |
| P162 | Real estate | Other / unknown | 150 | 5.3% | 20.5% | 10 |
| P163 | Media & publishing | Other / unknown | 39,680 | 5.1% | 73.2% | 2,390 |
| P164 | Media & publishing | Other / unknown | 2,210 | 5.1% | 18.7% | 220 |
| P165 | Education | Webflow | 1,010 | 4.5% | 11.4% | 90 |
| P166 | Finance | Other / unknown | 770 | 4.3% | 10.2% | 40 |
| P167 | Media & publishing | Other / unknown | 1,010 | 4.1% | 14.0% | 50 |
| P168 | Agencies & portfolios | WordPress | 860 | 3.8% | 47.9% | 40 |
| P169 | Media & publishing | Other / unknown | 22,820 | 3.5% | 53.8% | 1,240 |
| P170 | Agencies & portfolios | Other / unknown | 4,180 | 3.3% | 39.7% | 130 |
| P171 | Agencies & portfolios | Nuxt | 210 | 3.3% | 3.3% | 20 |
| P172 | Health & wellness | Gatsby | 1,800 | 3.0% | 34.0% | 80 |
| P173 | Travel & hospitality | Next.js | 830 | 3.0% | 13.1% | 30 |
| P174 | Health & wellness | Webflow | 2,470 | 2.7% | 9.4% | 70 |
| P175 | Marketplaces | Other / unknown | 920 | 2.7% | 26.8% | 30 |
| P176 | Health & wellness | Next.js | 1,230 | 2.6% | 11.1% | 20 |
| P177 | Marketplaces | Next.js | 11,920 | 2.5% | 61.8% | 270 |
| P178 | AI & SaaS | Next.js | 1,400 | 2.5% | 2.6% | 10 |
| P179 | Media & publishing | Other / unknown | 1,210 | 2.4% | 10.2% | 40 |
| P180 | Finance | Next.js | 240 | 2.2% | 11.6% | 10 |
| P181 | Media & publishing | WordPress | 1,410 | 2.1% | 14.5% | 40 |
| P182 | Travel & hospitality | WordPress | 1,840 | 1.8% | 25.1% | 50 |
| P183 | AI & SaaS | Next.js | 1,500 | 1.8% | 23.7% | 40 |
| P184 | Agencies & portfolios | Other / unknown | 0 | 1.6% | 2.5% | 0 |
| P185 | Agencies & portfolios | Next.js | 7,250 | 1.5% | 30.8% | 80 |
| P186 | Media & publishing | Other / unknown | 1,040 | 1.5% | 4.6% | 10 |
| P187 | E-commerce & brands | Other / unknown | 710 | 1.4% | 10.2% | 20 |
| P188 | Developer tools | Next.js | 1,220 | 1.2% | 35.2% | 30 |
| P189 | Agencies & portfolios | WordPress | 1,200 | 1.1% | 12.4% | 20 |
| P190 | Marketplaces | Other / unknown | 780 | 1.1% | 8.0% | 10 |
| P191 | Media & publishing | Other / unknown | 2,430 | 0.8% | 24.1% | 40 |
| P192 | Education | Other / unknown | 630 | 0.4% | 6.4% | 0 |
| P193 | AI & SaaS | Next.js | 230 | 0.2% | 7.4% | 0 |
| P194 | Travel & hospitality | Other / unknown | 2,840 | 0.1% | 5.5% | 0 |
| P195 | Finance | Next.js | 3,450 | 0.0% | 0.0% | 0 |
| P196 | Agencies & portfolios | Other / unknown | 3,090 | 0.0% | 0.0% | 0 |
| P197 | Marketplaces | Other / unknown | 2,170 | 0.0% | 0.0% | 0 |
| P198 | Media & publishing | Next.js | 1,560 | 0.0% | 0.0% | 0 |
| P199 | Finance | Next.js | 110 | 0.0% | 0.0% | 0 |
| P200 | Marketplaces | Other / unknown | 30 | 0.0% | 0.0% | 0 |
The estimate is built as in the method above, with re-encodes scored with SSIMULACRA2 at a delta of 2.
Limits
- Six deciders is a signal, not proof. The sample leans toward sites without bot walls.
- Part of the estimate is an estimate. The re-encode part is a floor where an image could not be scored (counted per page as
qualityNA). - Quality and format are only estimated when the original is known. Where the loader is not known, the estimate is not made.
- A3 rose from 13% to 38% between v1 and v4, because its images sit on a custom domain at quality 100, which v1 could not score.
- A rescan of the open-source sites on 2026-10-30 matched v4 to the rounding shown for three of them. Two moved: supabase.com's smaller-file share rose from 1.9% to 4.5%, and langfuse.com's image bytes rose by about 16%. Part of the difference may come from tool changes since v4, not only from the sites. See the replay page.
Reproduce it
The study used the CLI at tag study-v4-2026-10-28. Run npx imgtune scan <url> <url> --summary-json summary.json on your own sites to get the same measures. See the CLI reference.