Popular image file formats such as JPG, PNG, and GIF have been around for a long time. They are relatively efficient and web developers have introduced many optimization solutions to further compress their size. However, the era of JPGs, PNGs, and GIFs may be coming to an end as newer, more efficient image file formats aim to take their place.
We’re going to explore these newer file formats in this post along with an analysis of how they stack up against one another and the previous formats. We will also cover optimization techniques to improve the delivery of your images.
Why do we need new image formats at all?
Aside from image quality, the most noticeable difference between older and newer image formats is file size. New formats use algorithms that are more efficient at compressing data, so the file sizes can be much smaller. In the context of web development, smaller files mean faster load times, which translates into lower bounce rates, more traffic, and more conversions. All good things that we often preach.
As with most technological innovations, the rollout of new image formats will be gradual as browsers consider and adopt their standards. In the meantime, we as web developers will have to accommodate users with varying levels of support. Thankfully, Can I Use is already on top of that and reporting on browser support for specific image formats.
The New Stuff
As we wander into a new frontier of image file formats, we’ll have lots of format choices. Here are a few candidates that are already popping up and making cases to replace the existing standard bearers.
WebP
WebP was developed by Google as an alternative to JPG and can be up to 80 percent smaller than JPEGs containing the same image.
WebP browser support is improving all the time. Opera and Chrome currently support it. Firefox announced plans to implement it. For now, Internet Explorer and Safari are the holdouts. Large companies with tons of influence like Google and Facebook are currently experimenting with the format and it already makes up about 95 percent of the images on eBay’s homepage. YouTube also uses WebP for large thumbnails.
If you’re using a CMS like WordPress or Joomla, there are extensions to help you easily implement support for WebP, such as Optimus and Cache Enabler for WordPress and Joomla’s own supported extension. These will not break your website for browsers that don’t support the format so long as you provide PNG or JPG fallbacks. As a result, browsers that support the newer formats will see a performance boost while others get the standard experience. Considering that browser support for WebP is growing, it’s a great opportunity to save on latency.
This browser support data is from Caniuse, which has more detail. A number indicates that browser supports the feature at that version and up.
Desktop
Chrome | Firefox | IE | Edge | Safari |
---|---|---|---|---|
32 | 65 | No | 18 | 16.0 |
Mobile / Tablet
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
113 | 113 | 4.2-4.3 | 14.0-14.4 |
HEIF
High efficiency image files (or HEIF) actually bear the extension HEIC (.heic
), which stands for high efficiency image container, but the two acronyms are being used interchangeably. Earlier this year, Apple announced that its newest line of products will support HEIF format by default.
On top of smaller file sizes, HEIF offers more versatility than other formats since it can support both still images and image sequences. Therefore, it’s possible to store burst photos, focal stacks, exposure stacks, images captured from video and other image collections in a single file. HEIF also supports transparency, 3D, and 4K.
In addition to images, HEIF files can hold image properties, thumbnails, metadata and auxiliary data such as depth maps and audio. Image derivations can be stored as well thanks to non-destructive editing operations. That means cropping, rotations, and other alterations can be undone at any time. Imagine all of your image variations contained in a single file!
Apple is doing everything it can to make the transition as seamless as possible. For example, when users share HEIF files with apps that do not support the format, Apple will automatically convert the image to a more compatible format such as JPG.
There is no browser support for HEIF at the time of this writing.
This browser support data is from Caniuse, which has more detail. A number indicates that browser supports the feature at that version and up.
Desktop
Chrome | Firefox | IE | Edge | Safari |
---|---|---|---|---|
No | No | No | No | No |
Mobile / Tablet
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
No | No | No | No |
That being said, the file format offers impressive file savings for both video and images. This is becoming increasingly important as our devices become stronger and are able to take higher quality images and videos, thus resulting in a greater need for efficient media files.
FLIF
Free Lossless Image Format (or FLIF) uses a compression algorithm that results in files that are 14-74 percent smaller than older formats without sacrificing quality (i.e. lossless). Therefore, FLIF is a great fit for any type image or animation.
The FLIF homepage claims that FLIF files are 43% percent smaller on average than typical PNG files. The graph below illustrates how FILF compares to other formats in this regard.

FLIF takes advantage of something called meta-adaptive near-zero integer arithmetic coding, or (appropriately) MANIAC. FLIF also supports progressive interlacing so that images appear whole as soon as they begin downloading, which is another feature that has shown to reduce web page bounce rates.
The potential of FLIF is very exciting, but there is no browser support at the moment nor does it look like any browsers are currently considering adding it. While creators of the format are working hard on achieving native support for popular web browsers and image editing tools, developers can access the FLIF source code and snag a polyfill solution to test it out.
The Existing Stuff
As mentioned earlier, we’re likely still years away from the new formats completely taking over. In some cases, it might be better to stick with the tried and true. Let’s review what formats we’re talking about and discuss how they’ve stuck around for so long.
JPG
As the ruling standard for most digital cameras and photo sharing devices, JPG is the most frequently used image format on the internet. W3Techs reports that nearly three-quarters of all websites use JPG files. Similarly, most popular photo editing software save images as JPG files by default.
JPG is named after Joint Photographic Experts Group, the organization that developed the technology; hence why JPG is alternatively called JPEG. You may see these acronyms used interchangeably.
The format dates all the way back to 1992, and was created to facilitate lossy compression of bitmap images. Lossy compression is an irreversible process that relies on inexact approximations. The idea was to allow developers to adjust compression ratios to achieve their desired balance between file size and image quality.
The JPG format is terrific for captured photos; however, as the name implies, lossy compression comes with a reduction in image quality. Quality degrades further each time an image is edited and re-saved, which is why developers are taught to refrain from resizing images multiple times.
GIF
GIF is short for graphics interchange format. It depends on a compression algorithm called LZW, which doesn’t degrade image quality. The GIF format lacks the color support of JPG and PNG, but it has stuck around nonetheless thanks to its ability to render animations by bundling multiple images into a single file. Images stored inside a GIF file can render in succession to create a short movie-like effect. GIFs can be configured to display image sequences a set number of times or loop infinitely.

PNG
The good old portable network graphic (PNG) was originally conceptualized as the successor to the GIF format and debuted in 1996. It was designed specifically for representing images on the web. In terms of popularity, PNG is a close runner-up to JPG. W3Techs claims that 72 percent of websites use this format. Unlike JPG, PNG images are capable of lossless compression (meaning no image quality is lost).
Another advantage over JPG is that PNG supports transparency and opacity. Since large photos tend to look superior in the JPG format, the PNG format is typically used for non-complex graphics and illustrations.

Ways to Improve Image Optimization and Delivery
There are a few vital things to consider when optimizing images for the web because any file format—including the new ones—can end up adding yet another layer of complexity. Images typically account for the bulk of the bytes on a web page, so image optimization is considered low-hanging fruit for improving a website’s performance. The Google Dev Guide has a comprehensive article on the topic, but here is a condensed list of tips for speeding up your image delivery.
Implement Support for New Image Formats
Since newer formats like WebP aren’t yet universally supported, you must configure your applications so that they serve up the appropriate resources to your users.
You must be able to detect which formats the client supports and deliver the best option. In the case of WebP, there are a few ways to do this.
Invest in a CDN
A content delivery network (CDN) accelerates the delivery of images by caching them on their network of edge servers. Therefore, when visitors come to your website, they get routed to the nearest edge server instead of the origin server. This can produce massive time savings especially if your users are far from your origin server.
We have a whole post on the topic to help understand how CDNs work and how to leverage them for your projects.
Use CSS Instead of Images
Because older browsers didn’t support image shadows and rounded corners, veteran web developers are used to displaying certain elements like buttons as images. Remember the days when displaying a custom font required making images for headlines? These practices are still out in the wild, but are terribly inefficient approaches. Instead, use CSS whenever you can.
Check Your Image Cache Settings
For image files that don’t change very often, you can utilize HTTP caching directives to improve load times for your regular visitors. That way, when someone visits your website for the first time, their browser will cache the image so that it doesn’t have to be downloaded again on subsequent visits. This practice can also save you money by reducing bandwidth costs.
Of course, improper caching can cause problems. Adding a fingerprint, such as a timestamp, to your images can help prevent caching conflicts. Fortunately, most web development platforms do this automatically.
Resize Images for Different Devices
Figuring out how to best accommodate mobile devices with inferior screen resolutions is an ongoing process. Some developers don’t even bother and simply offer the same image files for all users, but this approach wastes your bandwidth and your mobile visitors’ time. Consider using srcset
so that the browser determines which image size it should deliver based on the client’s size dimensions.
Image Compression Tests
It’s always interesting to see the size differences each image format provides. In the case of this article, we’re comparing lossless and lossy image formats together. Of course, that’s not common practice as many times lossy will be smaller in size than lossless as the quality of the image suffers in order to produce a smaller image size.
In any case, choosing between lossless and lossy image formats should be based on how image intensive your site is and how fast it already runs. For example, an e-commerce shop may be comfortable with a slightly degraded image in exchange for faster load times while a photographer website is likely the opposite in order to showcase talent.
To compare the sizes of each of the six image formats mentioned in this article, we began with three JPG images and converted them into each of the other formats. Here are the performance results.
As previously mentioned, the results below vary significantly due to lossless/lossy image formats. For instance, PNG and FLIF images are both lossless, therefore resulting in larger image files.
Image 1 Size | Image 2 Size | Image 3 Size | |
---|---|---|---|
WebP | 1.8 MB | 293 KB | 1.6 MB |
HEIF | 1.2 MB | 342 KB | 1.1 MB |
FLIF | 7.4 MB | 2.5 MB | 6.6 MB |
JPG | 3.9 MB | 1.3 MB | 3.5 MB |
GIF | 6.3 MB | 3.9 MB | 6.7 MB |
PNG | 13.2 MB | 5 MB | 12.5 MB |
According to the results above, HEIF images were smaller overall than any other format. However, due to their lack of support, it currently isn’t possible to integrate the HEIF format into web applications. WebP came in at a fairly close second and does offer ways to work around the less-than-ideal amount of browser support. For users who are using Chrome or Opera, WebP images will certainly help accelerate delivery.
As for the lossless image formats, PNG is significantly larger than it’s lossy JPG counterpart. However, when optimized with FLIF, savings of about 50 percent were realized. This makes FLIF a great alternative for those who require high-quality images at a smaller file size. That said FLIF currently isn’t supported by another web browsers yet, similar to HEIF.
Conclusion
The old image formats will likely still be around for many years to come, but more developers will embrace the newer formats once they realize the size-saving benefits.
Cameras, mobile devices and many gadgets, in general, are becoming more and more sophisticated meaning that the images and videos taken are of higher quality and taking up more space. New formats must be adopted to mitigate this and it looks like we have some extremely promising options to look forward to, even if it will take some time to see them officially adopted.
Why not use SVG? I’ve used this tool many times in the past, it takes JPGs or PNGs and converts them to SVGs:
https://codepen.io/shshaw/full/LVKEdv
It doesn’t “convert” is to SVG. It just embeds the image in an SVG.
Definitely out of scope for the goal of this article.
I use WebP as a replacement for PNG files that need a transparent background. The file size difference is amazing. For example one image I’m looking at right now is 183k in PNG and only 33.4k in WebP. However standard JPG files and WebP files of equal visual quality have almost the same file size. So for most images I still use JPG.
“Since large photos tend to look superior in the JPG format, the PNG format is typically used for non-complex graphics and illustrations.”
Minor correction – photos never “look” superior in JPG. They’re just unreasonably large when encoded as PNG, which is why we don’t use PNG for photos on the web.
What’s the point of HEIF? All the features HEIF supports are supported by WebP too (including animated images). It’s good that it compresses images better (in just some cases, though?), but there’s no real reason to introduce yet another standard (see also https://xkcd.com/927/) other than trying – again! – to enclose the web in their walled garden.
Another aspect has to be considered: are those formats all free of royalties and/or patents as a burden?
I’ve been getting great results using MozJPEG (https://mozjpeg.codelove.de/). It creates regular JPEGs that seem to work in all browsers but are much smaller.
And don’t forget about all of Google’s Swiss German baked goods! There’s Zopfli, which makes nice, small PNGs, and Guetzli, the Google equivalent of MozJPEG.
For existing JPEGs, also try https://github.com/kud/jpegrescan which I worked on.
The argument made here is very flawed and in places downright incorrect.
Image compression is all about striking a balance between size and quality. Discussing only percentage/filesize saved is moot. Hyperbolic example; if I convert image example 1 (the sunflowers) to a 1-bit PNG it’s only 278KB, far smaller than the other formats listed – but it looks terrible.
As a good visual for why balance matters, https://www.youtube.com/watch?v=3WVpYBiRqKE shows JPG being worse, then better, then worse again when compared to FLIF. During the first 3 cycles (Y, CB, CR) JPG looks decidedly worse. But when the first DCT patterns get applied it looks about as good as the FLIF (depending on image complexity, personal taste, etcetera). Then the next few cycles JPG looks a bit better, while FLIF looks pixelated by comparison. Then in the end, FLIF wins again, because it finished the full load faster, and because it is lossless.
And I don’t quite know why JPG is listed as 3.9MB, 1.3MB, and 3.5MB. Because if I download the ‘original’ files, they are 2.50MB, 0.893MB, and 1.07MB. In fact, that makes JPG the smallest filesize for the third image.