Web Almanac 2024: Is the Web Sustainable?

This ad is not shown to multipass and full ticket holders
JSNation US
JSNation US 2025
November 17 - 20, 2025
New York, US & Online
See JS stars in the US biggest planetarium
Learn More
In partnership with Focus Reactive
Upcoming event
JSNation US 2025
JSNation US 2025
November 17 - 20, 2025. New York, US & Online
Learn more
Bookmark
Rate this content

Dive into the environmental impact of the web through key insights from the HTTP Archive Almanac 2024. Discover shocking statistics about web sustainability, from massive page weights to unused code, and learn practical, immediate solutions to reduce your website's carbon footprint. This talk combines hard data with actionable strategies to make the web greener

This talk has been presented at JSNation 2025, check out the latest edition of this JavaScript Conference.

FAQ

Burak is a Turkish individual who moved to Berlin, Germany four years ago and works for a company called Iberal. He loves cold weather and volunteers for the Web Almanac project.

Web Almanac is a report that analyzes nearly 17 million web pages on topics like web sustainability, JavaScript, and privacy. It is similar to a Spotify Wrapped but for technology and developers.

Burak was an author and data analyst for the sustainability and page weight chapters of the Web Almanac.

In 2024, the average web page weight was 8 megabytes, which is significantly higher than the recommended maximum of 1 megabyte.

The Web Almanac recommends that web pages should load a maximum of 1 megabyte of data, ideally around 500 kilobytes.

In 2024, an average of 907 kilobytes of unused JavaScript was shipped, which is close to the maximum recommended amount of 1 megabyte.

In 2024, 12% of desktop pages used green hosting, a decrease from 13% in 2022.

Lazy loading is an optimization technique that loads images only when needed. As of the report, a bit over 30% of images use lazy loading.

AVIF and WebP are optimized image formats recommended for reducing image weight and improving web page sustainability.

In 2024, websites produced an average of 1.47 grams of carbon dioxide emissions, up from 1.29 grams in 2022.

Burak Güneli
Burak Güneli
13 min
16 Jun, 2025

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Burak discusses web sustainability and introduces the Web Almanac report, focusing on the sustainability chapter. Analysis of web page data load improvements between 2022 and 2024 despite exceeding recommended limits. Concerns about the increase in unused CSS and JavaScript data waste in 2024 compared to 2022. Discussion on image optimization techniques like lazy loading and responsive image types. Emphasis on optimizing data transfer through techniques like text compression. Strategies for web optimization include caching, image optimizations, and text compression. Solutions for web page sustainability involve caching, image optimizations, and text compression. Exploring text compression with gzip, optimizing page weight, and addressing green hosting complexities. Addressing website sustainability's cost and emissions, calling for contributors and volunteers.

1. Burak's Web Sustainability Talk

Short description:

Burak discusses web sustainability, introduces the Web Almanac report, focusing on the sustainability chapter. He mentions working with a team and winning an award for the best chapter.

Hello, everyone. My name is Burak. Today I will be talking about the web sustainable question. Before that, let me give you a small introduction about myself. I'm Turkish. I moved to Germany, to Berlin, four years ago. I work in a company called Iberal. I'm quite in love with cold weather, so Berlin is a great match for me. You can see me stupidly jumping in a place called Admirabüke. It's generally freezing in the winter times. It's a lovely place. I recommend to go there, but maybe not jump because it's not safe sometimes.

Today I will be talking about Web Almanac. Web Almanac is a report that I've been voluntarily working for for the last year. We've been checking and doing some data analysis on nearly 17 million web pages. And we are creating some report about sustainability of web, JavaScript analysis, privacy, like a lot of chapters about it. It's like a Spotify wrapped. If you need an example, when you get your Spotify wrapped, you are getting the best artist, the genre that you really like. It's like a report like this, but in tech terms and for developers mainly. But today I will be talking about the sustainability chapter because the whole report is actually huge. And I was volunteering for sustainability chapter and the page weight chapter. I was an author and data analyst for those chapters.

Today we will be checking is the web sustainable question. But before that, I wanted to do a shout out to the team that I worked with because it was a great teamwork and we got the best chapter award of this year, which is really cool. So let's dig in. Before digging in, I need to give you some introduction to my slides. There will be generally two charts next to each other. One will be from 2024 data, latest release. And the other one is from 2022 data. We don't have 2023 release.

2. Web Sustainability Data Analysis

Short description:

Comparison of web page data load between 2022 and 2024, highlighting improvements despite exceeding recommended limits. Analysis of unused CSS and JavaScript data and a decrease in the adoption of green hosting practices.

So the previous one will be 2022 and we will compare those two years to each other. In each chart, generally there will be a percentile at the bottom. 19th percentile represents the most of the web, nearly 17 million web pages that were tested. I will be mainly focusing on the 19th percentile, which symbolizes the average of the internet, but I will occasionally mention the 10th percentile as well.

In 2024, each web page loads an average of eight megabytes of data, exceeding the recommended limit of 500 kilobytes per page. This is a significant difference compared to the one-megabyte maximum. Despite the high data load, there has been a slight improvement since 2022 when the average page weight was nine megabytes, showing a decrease to eight megabytes in two years.

Examining unused CSS, in 2024, 225 kilobytes of CSS were shipped but not utilized, indicating a potential waste of resources. The number may seem small, but when multiplied across numerous web pages, it becomes concerning. Similarly, unused JavaScript poses a challenge, with 907 kilobytes being shipped, close to the recommended maximum of one megabyte. This data waste can accumulate significantly with repeated clicks. The percentage of desktop pages using green hosting decreased from 13% in 2022 to 12% in 2024, suggesting a concerning trend of underutilizing sustainable hosting practices.

3. Web Sustainability Challenges

Short description:

Discussion on unused CSS and JavaScript data waste in 2024 compared to 2022, highlighting concerning increases. Decrease in the adoption of green hosting practices and its potential links to AI impacts.

So unused CSS, you can see that in 2024, 225 kilobytes of CSS was being shipped, and it was not being used, which is not a huge number. But if you multiply this with thousands, let's say, if you have a web pages getting thousands or millions, maybe, then it multiplies a lot, and it goes to a very concerning number. In 2022, we had 221 kilobytes. So we did even increase by four kilobytes. It's not a huge increase, but we would expect this to go lower actually.

Let's check unused JavaScript. So unused JavaScript is a bit depressive if you ask me, because we are shipping 907 kilobytes of unused JavaScript, which is actually super close to the maximum that we recommend, which is one megabyte. And this is way too concerning if you ask me. So if you multiply this with thousand clicks or millions of clicks to your web page, this is creating a huge data waste. And in 2022, it was 645. So personally, I would think that this would decrease, but it got increased nearly 300 kilobytes, which is quite concerning.

Okay, we have some unused code that we are shipping. We are using some data for nothing. We are wasting some resources, but maybe we are using green hosting, right? And then we are balancing some stuff out. But unfortunately not. In 2024, the desktop pages, 12% of them were using green hosting. And in 2022, it was 13%. So it got even lower by 1%. As my personal comment, this can be happening because of the AI, because after the AI, all of those hosting companies which had the green hosting goals kind of got out of the route because they needed to keep some resources for AI. And this kind of created some problems in terms of sustainability for us in the web.

4. Image Optimization Techniques

Short description:

Discussion on optimizing image weight, formats like AWIF and WebP, and image optimization techniques like lazy loading and responsive image types.

Image weight. So we said that we are shipping eight megabytes of data, and more than half of it is actually image weight. So in average, a page is loading 4.4 megabytes of image weight, which is actually huge. And it's creating a huge data transfer that we need to optimize.

Image format. So here, for the first time, we are seeing some good results. If you ask me, on the left chapter, you are seeing change from 2024 to 2022. And we have two really good formats, AWIF and WebP. AWIF increased by 386%, but this is a bit misleading because AWIF was being used by 0.3% in 2022, and it just increased to 1.4%.

Image optimization. So lazy loading. Lazy loading is very easy. You just add one attribute, and then you load your image lazily. But only just a bit above 30% of the images are using this attribute, which is a quite low hanging fruit, actually. And then responsive image types. Only 32% of the images are using source set with sizes. Source set with size is basically if you have an image, and if you have both desktop and mobile view, if you ship a high resolution to the desktop view, you don't need to ship this high resolution to the mobile because mobile view is small.

5. Optimizing Data Transfer

Short description:

Discussion on lazy loading, responsive image types, text compression, and the importance of optimizing data transfer.

Lazy loading is very easy. You just add one attribute, and then you load your image lazily. But only just a bit above 30% of the images are using this attribute, which is a quite low hanging fruit, actually.

Responsive image types. Only 32% of the images are using source set with sizes. Source set with size is basically if you have an image, and if you have both desktop and mobile view, if you ship a high resolution to the desktop view, you don't need to ship this high resolution to mobile because mobile view is small. You can show a lower resolution, but if you don't use source set with sizes, you are basically shipping the same image with the same size, and you're wasting a lot of data transfer because you don't need that high resolution. And only just 32% of the images are using this one.

Text compression. So text compression is the easiest thing to do, if you ask me, after the image lazy image trick that you can do. 53% of the files are not being compressed while we're transferring that one, and it's a very easy fix. It's basically, right now, for example, we are shipping a phone to our grandma. We bought a phone to our grandma. We will ship it to her. We are grabbing a huge box, putting a very tiny phone inside of it, and we are shipping this box with full of air, which is actually huge waste. You could just compress it, and you can send a small box, which would be way easier and which would consume less energy.

6. Web Optimization Strategies

Short description:

Discussion on caching, image optimizations, and text compression for enhancing web sustainability and user experience.

Caching has been a long-standing practice in web development, with only 25% of web pages currently not utilizing caching. While this percentage may not seem alarming, there is room for improvement to enhance sustainability and reduce page weight. Image optimizations play a crucial role in this aspect, with AVF and WebP being highly efficient image formats. It's essential to consider all users, including those on Internet Explorer, by providing fallback options for supported formats and optimizing images for mobile devices.

Text compression is another simple yet effective method to reduce file sizes. By implementing gzip or other compression techniques, files can be compressed for efficient data transmission. The importance of considering various optimization strategies, such as lazy loading and source set for mobile web, cannot be overstated. These approaches not only improve user experience but also contribute to reducing unnecessary data transfer and enhancing web page performance.

In conclusion, optimizing caching, image formats, and text compression are fundamental steps to improve web sustainability. By addressing these optimization techniques, web developers can enhance the efficiency and user experience of their web pages while considering the diverse user base across different browsers and devices.

7. Web Page Sustainability Solutions

Short description:

Discussing solutions for web page sustainability through caching, image optimizations, and text compression.

But according to our research, right now, 25% is strictly not using caching. Okay, I gave lots of negativity. I'm sorry for that. Now I will give some solutions to fix those stuff and increase the sustainability of your web page and decrease your page weight, hopefully.

Image optimizations. So AVF and WebP are the most optimized image formats that you can use. In the charts below, you can see that they are not being supported by Internet Explorer. I don't say that, ignore Internet Explorer users. Just use it and we don't care about them. No, this will create some accessibility issues. Those people also have the right to use the internet. Maybe there are some old people who are using it.

Maybe some people like Internet Explorer. We cannot judge. So those people also can use it. But basically, you can use the picture tag to fall back to JPEG or PNG when you're using AVF or WebP, which is quite an easy solution, if you ask me. And then you can use lazy loading and you can use source set to optimize your mobile web to ship lower resolution images so that you don't transfer that much data.

8. Web Sustainability Solutions Continued

Short description:

Discussing text compression with gzip, optimizing page weight by loading smaller chunks, and addressing the complexities of green hosting.

Text compression. It's very easy. You can just use gzip or other options to compress your files. And when you compress your files, you will be transferring less data, which will be increasing your sustainability of the page quite in a good way.

Page weight. I know this is not a very low hanging fruit. Sorry for that. I said low hanging fruit, but this is not something new also. It's so common that you can just create some smaller chunks and you can load those smaller chunks whenever they are needed. You don't need to load everything at the beginning. You don't need to consume that much of energy.

Green hosting. This is a very complicated issue. Because green hosting, it's so hard to define a hosting service to be green. It changes according to your country, it changes according to the place that your consumers are using your website. It has lots of parameters. But still, if you're curious about it, you can check the bullet point three to see the available options for yourself.

If you want to learn about more green hosting, how it works, you can go to the link on the right bottom of the slide and you can learn more about it. It's a good improvement. You can change the green hosting. It might cost a bit more, but then your webpage will be more sustainable.

Caching. So caching is not something I don't need to give too many solutions to that one. But there is one underdog solution to this one. If your page is strictly using non-cache policy, which can be understandable, and which is sometimes needed, but still, in some cases, you can still use e-tech, which is an underdog option to cache some data.

9. Website Sustainability and Emissions

Short description:

Exploring the cost and benefits of website sustainability through caching, addressing emissions from websites, and the call for contributors and volunteers.

It might cost a bit more, but then your webpage will be more sustainable.

Caching. So caching is not something I don't need to give too many solutions to that one. But there is one underdog solution to this one. If your page is strictly using non-cache policy, which can be understandable, and which is sometimes needed, but still, in some cases, you can still use e-tech, which is an underdog option to cache some data. So there will be a hash on the server. There will be a hash on your device. And if those hashes are matching, the server is not going to give you the file again. You're not going to transfer in data. But if these hashes are not equal to each other, then it means that the file on the server side is changed and then you will fetch it. So you will be fetching the data only when it's necessary. So you can do such optimizations to reduce your data transfer.

Last two informations. Emissions of the website. So at the end of the day, in average, websites are producing 1.47 grams of carbon dioxide. And actually, it was 1.29 grams in 2022, which got increased. We would expect this to decrease because we are advancing every technology, making things more optimized, but still, our emission is increasing and increasing. We should be starting to focus on the sustainability of our web pages also.

Last funny data. So I gave really bad statistics all the time. I kind of maybe judged you. I didn't want to. I'm sorry. But I also need to give some statistics about us. To make this web almanac, we consume some carbon emission also. This is equal to manufacturing 323 smartphones. Which is not huge, if you ask me, but it's also not small. Maybe we can improve it. Maybe you can join us. You can have some ideas and you can decrease it. We are always open to people. And lastly, this is the end of my talk. We need lots of contributors. We need lots of volunteers. You can be the lead of the chapter, editor of chapter, author, or data analyst. We need all kinds of people to help us. If you like the project, please join us. Please volunteer with us. And thank you for watching.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

A Guide to React Rendering Behavior
React Advanced 2022React Advanced 2022
25 min
A Guide to React Rendering Behavior
Top Content
This transcription provides a brief guide to React rendering behavior. It explains the process of rendering, comparing new and old elements, and the importance of pure rendering without side effects. It also covers topics such as batching and double rendering, optimizing rendering and using context and Redux in React. Overall, it offers valuable insights for developers looking to understand and optimize React rendering.
Speeding Up Your React App With Less JavaScript
React Summit 2023React Summit 2023
32 min
Speeding Up Your React App With Less JavaScript
Top Content
Watch video: Speeding Up Your React App With Less JavaScript
Mishko, the creator of Angular and AngularJS, discusses the challenges of website performance and JavaScript hydration. He explains the differences between client-side and server-side rendering and introduces Quik as a solution for efficient component hydration. Mishko demonstrates examples of state management and intercommunication using Quik. He highlights the performance benefits of using Quik with React and emphasizes the importance of reducing JavaScript size for better performance. Finally, he mentions the use of QUIC in both MPA and SPA applications for improved startup performance.
React Concurrency, Explained
React Summit 2023React Summit 2023
23 min
React Concurrency, Explained
Top Content
Watch video: React Concurrency, Explained
React 18's concurrent rendering, specifically the useTransition hook, optimizes app performance by allowing non-urgent updates to be processed without freezing the UI. However, there are drawbacks such as longer processing time for non-urgent updates and increased CPU usage. The useTransition hook works similarly to throttling or bouncing, making it useful for addressing performance issues caused by multiple small components. Libraries like React Query may require the use of alternative APIs to handle urgent and non-urgent updates effectively.
How React Compiler Performs on Real Code
React Advanced 2024React Advanced 2024
31 min
How React Compiler Performs on Real Code
Top Content
I'm Nadia, a developer experienced in performance, re-renders, and React. The React team released the React compiler, which eliminates the need for memoization. The compiler optimizes code by automatically memoizing components, props, and hook dependencies. It shows promise in managing changing references and improving performance. Real app testing and synthetic examples have been used to evaluate its effectiveness. The impact on initial load performance is minimal, but further investigation is needed for interactions performance. The React query library simplifies data fetching and caching. The compiler has limitations and may not catch every re-render, especially with external libraries. Enabling the compiler can improve performance but manual memorization is still necessary for optimal results. There are risks of overreliance and messy code, but the compiler can be used file by file or folder by folder with thorough testing. Practice makes incredible cats. Thank you, Nadia!
The Future of Performance Tooling
JSNation 2022JSNation 2022
21 min
The Future of Performance Tooling
Top Content
Today's Talk discusses the future of performance tooling, focusing on user-centric, actionable, and contextual approaches. The introduction highlights Adi Osmani's expertise in performance tools and his passion for DevTools features. The Talk explores the integration of user flows into DevTools and Lighthouse, enabling performance measurement and optimization. It also showcases the import/export feature for user flows and the collaboration potential with Lighthouse. The Talk further delves into the use of flows with other tools like web page test and Cypress, offering cross-browser testing capabilities. The actionable aspect emphasizes the importance of metrics like Interaction to Next Paint and Total Blocking Time, as well as the improvements in Lighthouse and performance debugging tools. Lastly, the Talk emphasizes the iterative nature of performance improvement and the user-centric, actionable, and contextual future of performance tooling.
Optimizing HTML5 Games: 10 Years of Learnings
JS GameDev Summit 2022JS GameDev Summit 2022
33 min
Optimizing HTML5 Games: 10 Years of Learnings
Top Content
Watch video: Optimizing HTML5 Games: 10 Years of Learnings
PlayCanvas is an open-source game engine used by game developers worldwide. Optimization is crucial for HTML5 games, focusing on load times and frame rate. Texture and mesh optimization can significantly reduce download sizes. GLTF and GLB formats offer smaller file sizes and faster parsing times. Compressing game resources and using efficient file formats can improve load times. Framerate optimization and resolution scaling are important for better performance. Managing draw calls and using batching techniques can optimize performance. Browser DevTools, such as Chrome and Firefox, are useful for debugging and profiling. Detecting device performance and optimizing based on specific devices can improve game performance. Apple is making progress with WebGPU implementation. HTML5 games can be shipped to the App Store using Cordova.

Workshops on related topic

React Performance Debugging Masterclass
React Summit 2023React Summit 2023
170 min
React Performance Debugging Masterclass
Top Content
Featured Workshop
Ivan Akulov
Ivan Akulov
Ivan’s first attempts at performance debugging were chaotic. He would see a slow interaction, try a random optimization, see that it didn't help, and keep trying other optimizations until he found the right one (or gave up).
Back then, Ivan didn’t know how to use performance devtools well. He would do a recording in Chrome DevTools or React Profiler, poke around it, try clicking random things, and then close it in frustration a few minutes later. Now, Ivan knows exactly where and what to look for. And in this workshop, Ivan will teach you that too.
Here’s how this is going to work. We’ll take a slow app → debug it (using tools like Chrome DevTools, React Profiler, and why-did-you-render) → pinpoint the bottleneck → and then repeat, several times more. We won’t talk about the solutions (in 90% of the cases, it’s just the ol’ regular useMemo() or memo()). But we’ll talk about everything that comes before – and learn how to analyze any React performance problem, step by step.
(Note: This workshop is best suited for engineers who are already familiar with how useMemo() and memo() work – but want to get better at using the performance tools around React. Also, we’ll be covering interaction performance, not load speed, so you won’t hear a word about Lighthouse 🤐)
Next.js 13: Data Fetching Strategies
React Day Berlin 2022React Day Berlin 2022
53 min
Next.js 13: Data Fetching Strategies
Top Content
Workshop
Alice De Mauro
Alice De Mauro
- Introduction- Prerequisites for the workshop- Fetching strategies: fundamentals- Fetching strategies – hands-on: fetch API, cache (static VS dynamic), revalidate, suspense (parallel data fetching)- Test your build and serve it on Vercel- Future: Server components VS Client components- Workshop easter egg (unrelated to the topic, calling out accessibility)- Wrapping up
React Performance Debugging
React Advanced 2023React Advanced 2023
148 min
React Performance Debugging
Workshop
Ivan Akulov
Ivan Akulov
Ivan’s first attempts at performance debugging were chaotic. He would see a slow interaction, try a random optimization, see that it didn't help, and keep trying other optimizations until he found the right one (or gave up).
Back then, Ivan didn’t know how to use performance devtools well. He would do a recording in Chrome DevTools or React Profiler, poke around it, try clicking random things, and then close it in frustration a few minutes later. Now, Ivan knows exactly where and what to look for. And in this workshop, Ivan will teach you that too.
Here’s how this is going to work. We’ll take a slow app → debug it (using tools like Chrome DevTools, React Profiler, and why-did-you-render) → pinpoint the bottleneck → and then repeat, several times more. We won’t talk about the solutions (in 90% of the cases, it’s just the ol’ regular useMemo() or memo()). But we’ll talk about everything that comes before – and learn how to analyze any React performance problem, step by step.
(Note: This workshop is best suited for engineers who are already familiar with how useMemo() and memo() work – but want to get better at using the performance tools around React. Also, we’ll be covering interaction performance, not load speed, so you won’t hear a word about Lighthouse 🤐)
Building WebApps That Light Up the Internet with QwikCity
JSNation 2023JSNation 2023
170 min
Building WebApps That Light Up the Internet with QwikCity
WorkshopFree
Miško Hevery
Miško Hevery
Building instant-on web applications at scale have been elusive. Real-world sites need tracking, analytics, and complex user interfaces and interactions. We always start with the best intentions but end up with a less-than-ideal site.
QwikCity is a new meta-framework that allows you to build large-scale applications with constant startup-up performance. We will look at how to build a QwikCity application and what makes it unique. The workshop will show you how to set up a QwikCitp project. How routing works with layout. The demo application will fetch data and present it to the user in an editable form. And finally, how one can use authentication. All of the basic parts for any large-scale applications.
Along the way, we will also look at what makes Qwik unique, and how resumability enables constant startup performance no matter the application complexity.
High-performance Next.js
React Summit 2022React Summit 2022
50 min
High-performance Next.js
Workshop
Michele Riva
Michele Riva
Next.js is a compelling framework that makes many tasks effortless by providing many out-of-the-box solutions. But as soon as our app needs to scale, it is essential to maintain high performance without compromising maintenance and server costs. In this workshop, we will see how to analyze Next.js performances, resources usage, how to scale it, and how to make the right decisions while writing the application architecture.
Maximize App Performance by Optimizing Web Fonts
Vue.js London 2023Vue.js London 2023
49 min
Maximize App Performance by Optimizing Web Fonts
WorkshopFree
Lazar Nikolov
Lazar Nikolov
You've just landed on a web page and you try to click a certain element, but just before you do, an ad loads on top of it and you end up clicking that thing instead.
That…that’s a layout shift. Everyone, developers and users alike, know that layout shifts are bad. And the later they happen, the more disruptive they are to users. In this workshop we're going to look into how web fonts cause layout shifts and explore a few strategies of loading web fonts without causing big layout shifts.
Table of Contents:What’s CLS and how it’s calculated?How fonts can cause CLS?Font loading strategies for minimizing CLSRecap and conclusion