Why do images save as WebP? What 12 sites sent C...

Why do images save as WebP? What 12 sites sent Chrome, and how to get the JPG

By Mozex
8 min read
Twelve sites and the image format Chrome got from each on 23 September 2026: WebP from Reddit, a Shopify store, Squarespace, BBC News, eBay; AVIF from Wix, YouTube, The Guardian, Unsplash; JPEG from Pinterest, Medium, Wikipedia.
On this page

The hero photo on the Allbirds home page has a file name that ends in .jpg. On 23 September 2026 the site sent Chrome a WebP of 572 KB. Ask the same image address for a JPEG and it sends one, 663 KB.

That's why your saved image is a WebP. Many sites pick the format each time they send a picture, from a list of formats your browser says it can show. Twelve sites made it into our test: nine sent Chrome a WebP or an AVIF, and every one of those nine would also hand over a JPEG (JPG is the same format) if asked the right way. The four ways that worked are below the table.

The site chooses, from a line your browser sends

Every time Chrome requests an image, it adds a line called Accept listing the formats it can display. Chrome 153 sent this one:

image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8

AVIF and WebP are two newer image formats that sites use in place of JPEG. A site that keeps the same picture in several formats reads that line and chooses what to send. MDN calls this server-driven content negotiation: the server treats the headers "as hints and an internal algorithm chooses the best content to serve to the client."

Six of our twelve sites chose the format from that line. Asking for image/jpeg alone, with the command-line tool curl, got a JPEG from all six. Three more sites put the format in the address itself, and Chrome, Edge and Firefox all got the same WebP or AVIF from them: the BBC's image names end in .jpg.webp, eBay's in .webp, and YouTube's thumbnail is named hq720.jpg but came back as AVIF until we deleted the parameters after that name.

Edge 153 sent the same line and received the same file from all twelve sites. Firefox 152 sends its own list, which also names AVIF and WebP, and for images on a test page it got the same formats as Chrome from all twelve.

What 12 sites sent Chrome on 23 September 2026

One image per site; the end of the post says how we picked them. KB here means 1,000 bytes.

Site Chrome and Edge got What got us a JPEG
Reddit WebP, 330 KB Firefox setting, curl
Shopify store (allbirds.com) WebP, 572 KB Firefox new tab, Firefox setting, curl
Squarespace (squarespace.com) WebP, 103 KB Firefox new tab, Firefox setting, curl
BBC News WebP, 31 KB edited address
eBay WebP, 16 KB edited address
Wix (wix.com) AVIF, 3 KB Firefox new tab, Firefox setting, curl
YouTube AVIF, 95 KB edited address
The Guardian AVIF, 55 KB Firefox new tab, Firefox setting, curl
Unsplash AVIF, 68 KB Firefox new tab, Firefox setting, curl
Pinterest JPEG, 11 KB already a JPEG
Medium JPEG, 24 KB already a JPEG
Wikipedia JPEG, 76 KB already a JPEG

The newer format wasn't always the smaller file. Reddit's JPEG was 296 KB against its 330 KB WebP, Squarespace's 101 KB against 103, and Unsplash's 64 KB against a 68 KB AVIF.

Four ways to get the JPEG instead

The first two need Firefox. The other two work whatever browser you use.

1. In Firefox, open the image in a new tab

Right-click the image, choose Open Image in New Tab, and save it from there. Firefox then asks for the image as a page, with a line that names no image formats, and five of the six sites that choose by the Accept line answered with a JPEG. Reddit sent a web page instead of the picture. Chrome and Edge ask for AVIF and WebP again in a new tab, and every site sent the same format as before, apart from Reddit's web page.

2. In Firefox, change one setting

With image.http.accept changed as below, all six sites that choose by the Accept line sent Firefox a JPEG, Reddit included, even with their WebP and AVIF copies already in Firefox's cache. To change it:

  1. Type about:config in the address bar, and click Accept the Risk and Continue if Firefox shows a warning page.
  2. Search for image.http.accept.
  3. Click its Edit button, type image/jpeg,image/png,*/*;q=0.5, click Save, and reload the page.
  4. Right-click the image and choose Save Image As.

Firefox's source describes this setting as overriding the Accept line it sends for images. Firefox's Save Image As takes the image from its cache, so you save the JPEG the page just loaded. We tried */* first; Squarespace still sent WebP to that. When you're done, click the setting's Reset button, because it applies to every page you visit, and on three of those six sites the JPEG was the bigger file: Allbirds' hero went from 572 KB to 663 KB.

3. Edit the address when it names the format

Right-click the image, copy its address (Copy Image Address in Chrome, Copy Image Link in Firefox and Edge), paste it into a new tab, change it, and press Enter:

  • BBC News: delete the final .webp. We got a 52 KB JPEG.
  • eBay: change .webp to .jpg. A 20 KB JPEG.
  • YouTube: delete everything from the ? onwards. A 283 KB JPEG at 1280 by 720, where the page's AVIF was 720 by 404.

This doesn't always work. Editing the Reddit and Guardian addresses got us an error instead of a picture.

4. Ask with curl

Windows 10 and 11 come with curl. Copy the image address, open Terminal or Command Prompt, and run:

curl.exe -H "Accept: image/jpeg" -o picture.jpg "PASTE-THE-ADDRESS-HERE"

Type curl.exe, not curl: in Windows PowerShell, curl is a different command, and curl.exe works there and in Command Prompt. curl saves picture.jpg in the folder the window is open in. On our machine this saved Allbirds' 663 KB JPEG, and it got a JPEG from the same six sites as the Firefox setting. The three sites that choose by address still send a WebP or AVIF, which curl saves under the .jpg name, so edit the address first.

Already saved the WebP? Converting works, at a price

A converted file opens anywhere, but converting can't give you the site's JPEG back. Converting makes a copy of the WebP, which had already lost some detail, and loses a little more on the way.

We measured that on the same Allbirds photo at its full 2840 by 1600 pixels, larger than the 2560-pixel copy the page loaded in our test. At full size the store answers a request for a JPEG with an 800 KB JPEG, and Chrome's request with a 706 KB WebP. We took the store's JPEG as the reference and scored everything against it on the SSIMULACRA 2 scale, where higher is closer and 70 means artefacts you can see but that don't annoy, and 90 means visually lossless:

File Size Score against the store's JPEG
The store's own JPEG 800 KB the reference
The WebP the store sends Chrome 706 KB 74.2
That WebP converted to JPG at quality 90 832 KB 72.3
That WebP converted to JPG at quality 75 490 KB 66.9

The quality-90 copy is bigger than the store's own JPEG and further from it than the WebP was. Across the five WebPs in the first table, a quality-90 JPG came out bigger than the WebP it was made from. So if you can go back to the page, get the JPEG.

When you can't, our WebP to JPG converter does it with JPG already selected. It never goes above quality 75 for a WebP source, the setting of the last row. The last row's JPG, from our own cjpegli run, came out 41% smaller than the quality-90 one, and 5.4 points lower.

An AVIF is harder: Iminify can't read AVIF files, so go back to the page. Of the four sites that sent Chrome an AVIF, three sent a JPEG when asked through either Firefox way or curl, and YouTube sent one for an edited address.

Renaming picture.webp to picture.jpg changes nothing inside. The first bytes of our renamed file still read RIFF and WEBP, and the Pillow image library still opened it as a WebP.

How we tested

We picked one image per site from its pages, except two: for Wix, the logo its home page lists in its markup, and for Wikipedia, the Fjord article's photo as the Wikipedia API lists it, at 500 pixels. We requested each one in headless Chrome 153.0.8010.50, Edge 153.0.4234.48 and Firefox 152.0 on Windows 11, through puppeteer-core 25.11.0, both on a test page and in a new tab. In Chrome and Edge, "HeadlessChrome" in the user agent was changed to "Chrome". Firefox 156.0.1 and Chrome 154, the current releases that day, send the same Accept lines according to their source code. curl was 8.21.0.

The conversions used cjpegli from jpegli commit 031a0077f579 with 4:2:0 chroma, the way Iminify encodes a photograph, and scores came from ssimulacra2 in libjxl v0.12.0. Google Images, Etsy and Amazon answered our automated browser with errors, WordPress.com's post images came back as redirects our script couldn't read, and we didn't try Discord, so none of them are in the table. We didn't test Safari, phones or browser extensions. Sites change what they serve, so treat the table as that day's answer.

Questions this post answers

Share this post

Share on X
Share on Facebook
Share on LinkedIn
Share on Reddit
Share on Hacker News
Email
Copy link
Link copied
Bar chart of the resized files WordPress 7.1.2 made on the server and in Chrome: 691 and 640 KB for a 1800 px photo, 1,942 and 2,193 KB for its 6000 px version, 553 and 651 KB for a PNG screenshot.

Does WordPress compress images? What WordPress 7.1 does to your upload

We uploaded the same photo to a fresh WordPress 7.1.2 site twice, both times from Chrome. The file we sent, 832 KB, was stored byte for byte both times. From it WordPress made five resized copies at JPEG quality 82. Through Media > Add Media File those copies came to 691 KB. Through the Upload button on an Image block they came to 640 KB, because in 7.1 that button has the browser make the copies instead of the server. So does WordPress compress images automatically? Not the file you upload, which is stored byte for byte. It re-encodes the resized copies it makes, the JPEG ones at quality 82. In our test a phone and a standard laptop screen downloaded copies of this photo, but a 2x laptop screen got the untouched original, so compressing it is still your job. Since 7.1, which program makes the copies depends on the button you press and the browser you press it in.

8 min read
ComfyUI's Flux Dev example render of a fox-eared girl in a maid dress holding a cake, captioned: 1,215,064-byte PNG to 125,684-byte WebP, and the workflow still loads in ComfyUI.

ComfyUI PNG to JPG loses the workflow. WebP and AVIF can keep it

ComfyUI's Flux Dev example image is a PNG of 1,215,064 bytes, and the two text chunks holding its prompt and workflow take 12,240 of them. The rest is 1024x1024 pixels stored without loss. Across the 92 PNGs in ComfyUI's examples repository that carry a workflow, the text was no more than 3.32 percent of any file, with a median of 0.62 percent. Converting to JPG shrinks the file, but ComfyUI's own loader can't read a workflow back out of a JPG. A WebP or AVIF can keep it, at about a tenth of the size. We took the text-to-image examples of ten models from ComfyUI's examples repository, made smaller copies several ways, and dropped the copies back onto ComfyUI 0.37.0's canvas to see which ones still held the workflow.

6 min read
Bar chart of mozex.dev's image bytes at Lighthouse's phone size: 63.7 KB in 2 files before scrolling, 653.5 KB in 9 files after, and a worked-out 107.1 KB with its own images resized and re-encoded for the phone and the hidden one skipped.

How to find large images on a website: three tools gave us three different lists

On 22 September 2026 we loaded mozex.dev, the site of Mozex Labs, which runs Iminify, at the phone size Lighthouse emulates, and listed its images three ways: Chrome's network log, Lighthouse and a console snippet. Before any scrolling, Chrome had fetched 2 image files, 63.7 KB. After we scrolled to the bottom, it had fetched 9 files, 653.5 KB. Lighthouse's phone runs requested 7 and never the two heaviest, 340.8 KB between them. The browser's own timing data put one image at 0 bytes. So the list you can trust comes from Chrome's Network panel, taken after a scroll. Every method here works on one page at a time, so run it on the pages you care about most.

8 min read

Try it on your own images

Drop a photograph in, pick Smart, and compare the result with the original before you download. Free, no account needed.