what is webp? the modern image format explained
webp is everywhere now but most people don't really know what it is, where it came from, or why it actually matters. here's a plain-english explanation of the format taking over the web.
the short version
webp is an image format created by google. it produces smaller file sizes than jpg and png while maintaining the same visual quality. it supports transparency (like png) and animation (like gif), making it a genuinely versatile format that can replace all three of those older formats in most situations.
if you've ever downloaded an image from a website and found it has a .webp extension instead of .jpg or .png, that's why. more and more sites are switching to webp because it makes their pages load faster without any visible sacrifice in quality.
where did webp come from?
webp was developed by google and first released in 2010. it was born out of a project called "webm," which was google's effort to create an open, royalty-free video format for the web. the engineers realized the same compression technology they were developing for video could be applied to still images, and webp was the result.
the format is based on the VP8 video codec, which google had acquired when it bought On2 Technologies in 2010. VP8 was designed to compress video efficiently, and webp applies those same techniques to compress individual frames, which is essentially what a still image is.
google open-sourced webp from the beginning, making it freely available for anyone to use without licensing fees. this was a deliberate strategy to encourage adoption across the web.
how does webp compression actually work?
without getting too deep into the technical weeds, webp uses a few clever techniques to achieve smaller file sizes:
predictive coding. instead of storing every pixel's color value independently, webp predicts what each block of pixels will look like based on surrounding blocks, and then only stores the difference between the prediction and the actual value. since images often have large areas of similar color, most of these differences are very small and compress well.
block transform coding. the image is divided into small blocks, and mathematical transforms are applied to represent the data more efficiently. this is similar to how jpg works, but webp's implementation is more sophisticated.
entropy coding. the final compressed data is encoded using a method called arithmetic coding, which is more efficient than the huffman coding used by older formats like jpg.
lossy vs lossless webp
webp supports two distinct compression modes, which is part of what makes it so flexible.
lossy webp discards some image data to achieve the smallest possible files. the data that gets discarded is chosen carefully so it's the least noticeable to human eyes. a lossy webp file is typically 25 to 35 percent smaller than a jpg at the same perceived quality level. this mode is best for photographs and complex images where you want the smallest possible file size.
lossless webp keeps every single pixel intact, like png, but still achieves compression by finding and eliminating redundant patterns in the data. lossless webp files are typically about 26 percent smaller than equivalent png files. this mode is best for graphics, logos, and screenshots where pixel accuracy matters.
the transparency and animation story
one of webp's biggest advantages over jpg is its support for transparency. jpg has no transparency support at all, which is why you often end up with white boxes around images that should have transparent backgrounds.
webp supports full alpha channel transparency, the same as png. this means you can have images with partially transparent areas, gradual fade effects, and complex cutouts, all in a much smaller file than the equivalent png.
webp also supports animation, like gif, but far more efficiently. animated webp files can be 64 percent smaller than equivalent animated gifs, with better color support too. gifs are limited to 256 colors, while webp has no such restriction.
browser support: where does it stand?
this is where webp's history gets a bit messy. when google first released it in 2010, only chrome supported it. other browser vendors were skeptical, particularly mozilla and apple, who had concerns about the format's quality and the fact that a single company controlled its development.
firefox added support in 2019. safari was the last major holdout, finally adding support in version 14 in 2020. this is why you might still encounter older recommendations to always provide a jpg fallback for webp images.
as of 2026, browser support for webp is effectively universal. all modern versions of chrome, firefox, safari, edge, opera, and samsung internet support it. the only browsers that don't are internet explorer and very old mobile browsers that represent a negligible fraction of web traffic today.
the real-world impact on page speed
to make this concrete, here's what switching to webp typically looks like in practice. imagine a product page with 12 product photographs, each originally saved as a high-quality jpg averaging 400kb. total image weight: 4.8mb.
converting those same images to webp at 85% quality typically brings each one down to around 260kb. total image weight: 3.1mb. that's a 35% reduction in image data, without any visible quality difference on the page.
for users on slower mobile connections, that difference is felt immediately. for search engines measuring your core web vitals scores, that difference shows up in your rankings. it's one of those optimizations that genuinely improves things for everyone.
can you convert existing images to webp?
yes, and it's straightforward. any jpg, png, gif, or bmp file can be converted to webp. the conversion is lossless in the sense that the quality you get out depends on the quality setting you choose, not on any inherent limitation of the format.
most modern image editors support saving as webp, including photoshop (with a plugin or in recent versions natively), gimp, and affinity photo. there are also online converters and command-line tools like cwebp. or you can use cozyconvert, which handles the conversion entirely in your browser with no uploads required.
convert your images to webp right now
try cozyconvert, it's free