Blog

Image weight by platform: 41 stores measured

We measured image bytes on 41 real storefronts across 14 platforms. WooCommerce sent 2.7 times more bytes per pixel than Shopify.

By 4 min read

Last reviewed:

The NimboCDN mascot balancing a stack of image cards against one image card
Same number of pixels. Very different numbers of bytes. We measured the gap on 41 storefronts.
On this page
  1. Why we measured instead of reading comparisons
  2. What bytes per pixel measures
  3. The measured table
  4. How the sample compares with the wider web
  5. What this does not prove
  6. What the result changed
  7. Weigh your own storefront
  8. Questions

A WooCommerce storefront in our sample sent 2.7 times more bytes per pixel than a Shopify storefront. We found that by weighing images on 41 real stores across 14 platforms.

That is a byte measurement. Not page speed. Not image quality. The sample and the limits stay beside the finding.

Why we measured instead of reading comparisons

We needed to decide which platforms should get a connector. Published comparisons gave us conflicting answers, including on whether Shopify served AVIF.

So we measured storefronts. The first result overturned the assumption in our plan: one platform described as doing little had eight ready-made widths and served WebP. Building from the comparison would have cost months.

A platform that already handles its images has no problem for our connector to solve.

What bytes per pixel measures

Bytes per pixel is the size of each delivered image divided by its pixel count, summarized as the median for a storefront. It lets us compare encoding weight without rewarding a store just for using smaller pictures.

It does not measure quality. A low number can mean efficient encoding or a damaged image. It is not a savings estimate either. We left “what NimboCDN would save” out of the table because that would require a model, not a direct measurement.

The measured table

Medians across stores. n counts stores, not images. Rows with one or two stores are shown, but they do not describe a platform.

PlatformStoresBytes per pixelAlready modern format
Shopify120.0933100%
VTEX60.081597%
WooCommerce40.250848%
WordPress30.20120%
Nuvemshop20.089447%
Wix10.108191%
PrestaShop10.195248%
Unrecognised20.64270%
Bytes per pixel delivered by each platform's storefront Horizontal bar chart of median bytes per pixel across 14 ecommerce platforms. Unrecognised platforms are worst at 0.6427. WooCommerce follows at 0.2508 and WordPress at 0.2012, the two markets this connector serves. Shopify sits at 0.0933 and Webflow lowest at 0.0520. Lower is a smaller download. LOWER IS LIGHTER Unrecognised 0.64272 stores WooCommerce 0.25084 stores WordPress 0.20123 stores PrestaShop 0.19521 store Loja Integrada 0.14642 stores Wix 0.10811 store Shopify 0.093312 stores Nuvemshop 0.08942 stores Squarespace 0.08661 store VTEX 0.08156 stores Next.js 0.07143 stores Tray 0.06072 stores OpenCart 0.05421 store Webflow 0.05201 store
Median bytes per pixel by platform. The number beside each bar is the store count behind that median.

Two columns matter. Bytes per pixel shows delivered weight. “Already modern format” shows how often the platform had already moved beyond JPEG or PNG.

How the sample compares with the wider web

The HTTP Archive Web Almanac reports bits per pixel across more than ten million pages. Our figures are bytes per pixel. Multiply by eight and the units match.

Measured on our sampleBytes/pixelBits/pixel
WooCommerce storefronts0.25082.01
WordPress sites0.20121.61
Shopify storefronts0.09330.75
The same figures in bits, against the median image on the web Bar chart comparing our measurements in bits per pixel against two reference lines from the HTTP Archive Web Almanac. WooCommerce storefronts sit at 2.01, level with the web's median image at 2.1 and the median JPEG at 2.0. WordPress sits at 1.61. Shopify storefronts sit at 0.75, already below the median AVIF on the web at 1.4. BITS PER PIXEL median image on the web · 2.1 median AVIF on the web · 1.4 WooCommerce 2.01 WordPress 1.61 Shopify 0.75
Our medians converted to bits per pixel and placed beside the Web Almanac reference. The conversion is arithmetic: one byte is eight bits.

The Web Almanac puts the median image at 2.1 bits per pixel and the median JPEG at 2.0. WooCommerce in our sample sits at 2.01. Shopify sits at 0.75, below the report's 1.4 median for AVIF.

This does not make Shopify “faster.” It says its storefront images carried fewer bytes per pixel in this sample.

What this does not prove

  • Most platform samples are small. Shopify has 12 stores, VTEX 6, and WordPress plus WooCommerce 7. A one-store row is only that store.
  • We measured storefronts. Product pages, checkout, and dashboards can behave differently.
  • This is not a savings estimate. It says what arrived, not what another service would remove.
  • Bytes per pixel is not quality or load time. Those need different measurements.

What the result changed

It closed more platforms than it opened. All 12 Shopify stores already used modern formats. Wix, Squarespace, and Webflow both delivered reasonably and left no place for an outside connector to change image delivery.

WordPress and WooCommerce showed the clearest gap among the platforms with a usable sample, and both allow a connector. That supported the market we were already serving. It did not prove every WordPress store has the same problem.

For the practical next step, read what images can and cannot fix on a slow WooCommerce store, or rule out the other causes of a slow WordPress site.

Weigh your own storefront

Your store is not a median. Paste one page into the website image size checker. It weighs every image and encodes the heaviest ones for real. Today's number is measured. The possible after is estimated, with its error shown.

If the site runs on WordPress, install the connector. No account. No credit card. The home page starts shipping lighter right away. If you prefer to work inside the media library, compare ShortPixel and Imagify.

Questions

Why use bytes per pixel instead of kilobytes per image?

Kilobytes per image mostly reflects image dimensions. Dividing delivered bytes by pixel count removes that size difference and makes encoding weight easier to compare across stores.

Is a lower number always better?

No. A low number can come from efficient encoding or from damaging the image. Bytes per pixel measures weight, not perceived quality. Quality needs a separate comparison at a matched perceptual score.

Are seven WordPress and WooCommerce stores enough?

They are enough to report the gap we saw, with the sample attached. They are not enough to claim every WordPress or WooCommerce store behaves the same way. That is why the count stays beside the finding.

Does this mean Shopify is faster than WooCommerce?

No. We measured image bytes, not page-load time. In this sample, Shopify storefront images carried fewer bytes per pixel. Load time also depends on hosting, theme, scripts, and everything else on the page.

Can I reproduce the measurement?

Yes. The method and date are published with the numbers. It covers storefronts measured on September 3, 2026. A store that changes its theme or image settings later may produce a different result.

Sources

Official sources cited on this page. Our own measurements state their sample and method in the text.

  1. The median image is compressed to 2.1 bits per pixelalmanac.httparchive.org/en/2024/media, accessed September 5, 2026.
  2. GIF weighs in at 6.7 bits per pixel, PNG: 3.8, JPG: 2.0, AVIF: 1.4 and WebP is smallest at 1.3 bits per pixel.almanac.httparchive.org/en/2024/media, accessed September 5, 2026.
  3. LCP measures the time from when the user initiates loading the page until the largest image or text block is rendered within the viewport.web.dev/articles/optimize-lcp, accessed September 5, 2026.

NimboCDN is not affiliated with, endorsed by, or sponsored by any of the products compared here. Product names and trademarks belong to their respective owners and are used only to identify the products being compared.