Your first time on this page? Allow me to give some explanations.
Awesome Web Performance Optimization
A curated list of Web Performance Optimization. Everyone can contribute here!
Here you can see meta information about this topic like the time we last updated this page, the original creator of the awesome list and a link to the original GitHub repository.
Thank you davidsonfellipe & contributors
View Topic on GitHub:
Search for resources by name or description.
Simply type in what you are looking for and the results will be filtered on the fly.
Further filter the resources on this page by type (repository/other resource), number of stars on GitHub and time of last commit in months.
Jeremy L. Wagner
Lara Callender Hogan
Rick Viscomi, Andy Davies, Marcel Duran
Case studies and experiments demonstrating the impact of web performance optimization (WPO) on user experience and business metrics.
A guide created by PageSpeed Team.
At Velocity, web operations, performance, and DevOps professionals learn to build fast, resilient, and highly available sites and apps.
Uses PhantomJS to headlessly analyze web pages and generate manifests.
Automated auditing, performance metrics, and best practices for the web.
YSlow analyzes web pages and suggests ways to improve their performance based on a set of rules for high performance web pages.
Grunt WebPageTest plugin for measure with time
Test web page performance using the YSlow library invoked by a grunt task
Grunt task for performance budgeting.
Web Tracing Framework libraries and extensions.
Load and performance benchmark tool
Collect performance metrics for your library/application.
Get the web's modern capabilities on your own sites and apps with useful guidance and analysis from web.dev.
DebugBear is a site monitoring tool based on Lighthouse. See how your scores and metrics changed over time, with a focus on understanding what caused each change. DebugBear is a paid product with a free 30-day trial.
The PageSpeed family of tools is designed to help you optimize the performance of your site. PageSpeed Insights products will help you identify performance best practices that can be applied to your site, and PageSpeed optimization tools can help you automate the process.
YSlow for PhantomJS also introduces new output formats for automated test frameworks: TAP (Test Anything Protocol) and JUnit.
Test your site to see if it follows the Google guidelines for speed.
Compare size of a page to a compressed image of the same page
Analyzers - API
Node.js wrapper for phantomjs yslow.js (see: http://yslow.org/phantomjs/).
PageSpeed Insights Reporting for Node
Keep your bundle size in check
Analyze and debug space usage through source maps
Webpack plugin and CLI utility that represents bundle content as convenient interactive zoomable treemap
📊 Analyzing bundles created by Lasso js.
Prepare compressed versions of assets to serve them with Content-Encoding
Helps you find the performance impact of adding an npm package to your frontend bundle.
Visualise the module tree of browserify project bundles and track down bloat.
Benchmark - CSS
Archived. Derping around with measuring CSS performance.
A caffeine driven, simplistic approach to benchmarking.
Navigation Timing API measurement helpers
minimal monitor for JS Heap Size via performance.memory
Benchmark - PHP
Front-end performance heatmap bookmarklet.
Performance-Bookmarklet helps to analyze the current page through the Resource Timing API, Navigation Timing API and User-Timing - requests by type, domain, load times, marks and more. Sort of a light live WebPageTest.
YSlow analyzes web pages and suggests ways to improve their performance based on a set of rules for high performance web pages.
A free, fast, and reliable Open Source CDN for npm and GitHub
A content delivery network that uses next-gen tech to deliver a fast, reliable, CDN services
A state of the art opensource CDN with aggressive content optimization using brotli-11 compression, HTTP/2 server push, better HTTP/2 multiplexing, and more. Supports 100s of libraries and 2000+ WordPress themes already. Easy to use, easy to link and very fast.
CDN - Monitor
CDN - Utilities
[DEPRECATED] Prepend cdn urls to your html and css
Replaces script references with Google CDN ones
The easiest way to measure your performance budget
Grunt task to optimize images using reSmush.it
Gulp plugin to optimize PNG and JPG using reSmush.it.
Minify images seamlessly
High performance Node.js image processing, the fastest module to resize JPEG, PNG, WebP and TIFF images. Uses the libvips library.
GraphicsMagick for node
A curated list of amazingly awesome Elixir and Erlang libraries, resources and shiny things. Updates:
Minify PNG, JPG, GIF and SVG images.
Minify PNG, JPEG, GIF and SVG images
Convert your images to WebP format.
Convert images to WebP
Make ImageOptim, ImageAlpha and JPEGmini part of your automated build process
Make optimisation of images part of your automated build process
CLI bash script to optimize images in parallel easily and efficiently!
Improved JPEG encoder.
jpegoptim - utility to optimize/compress JPEG files
Zopfli Compression Algorithm is a compression library programmed in C to perform very good, but slow, deflate or zlib compression.
lightweight lossless file minifier/optimizer
CLI image optimization tool
Smush it uses optimization techniques specific to image format to remove unnecessary bytes from image files. It is a "lossless" tool, which means it optimizes the images without changing their look or visual quality.
GUI app to remove exif metadata from images and video files with drag and drop. Free and open source.
OptiPNG is a PNG optimizer that recompresses image files to a smaller size, without losing any information.
Free app that makes images take up less disk space and load faster, without sacrificing quality. It optimizes compression parameters, removes junk metadata and unnecessary color profiles.
Advanced lossy compression for PNG images that preserves full alpha transparency.
Optimize your images and will be available for download for 12 hours.
Recompress PNG files to get the smallest possible size.
Cloud service for optimizing, resizing and caching images on the fly with great mobile support.
🔥 Highly performant, light ~1kb and configurable lazy loader in pure JS with no dependencies for responsive images, iframes and more
The only script in your HEAD.
Async Everything: Make the meat of your pages load faster with this JS morsel
InstantClick makes following links in your website instant.
JIT(Just In Time) plugin loader for Grunt.
Headless Chromium-based web performance metrics collector and monitoring tool
Benchmark a web page and display results with a pretty UI.
A model driven framework for the evaluation web page performance
Grunt plugin wrapping phantomas to measure frontend performance
open source tool that helps monitor various site performance metrics over time. It captures the results of YSlow, Page Speed Insights, WebPageTest and dynaTrace Ajax Edition.
GTmetrix uses Google Page Speed and Yahoo! YSlow to grade your site's performance and provides actionable recommendations to fix these issues.
Free site and SSL Monitoring with response time alerting (on Slack, Twitter, Mattermost, Discord or custom Webhook).
Test the load time of that page, analyze it and find bottlenecks.
analyze your website's speed in real browsers from 20 locations worldwide.
Run a free site speed test from multiple locations around the globe using real browsers (IE and Chrome) and at real consumer connection speeds. You can run simple tests or perform advanced testing including multi-step transactions, video capture, content blocking and much more. Your results will provide rich diagnostic information including resource loading waterfall charts, Page Speed optimization checks and suggestions for improvements.
Sitespeed.io is an open source tool that will check your site against web performance best practice rules and use the Navigation Timing API to collect metrics. It will create XML & HTML output of the result.
Runtime Browser Performance regression suite (Demo).
Continually checks web page load times in Internet Explorer, Chrome and Firefox from multiple points around the world.
Monitor your browser-side applications in real time, with a focus on real end users’ experiences.
Real Browser Monitoring. Offers complete reports about web performance and quality using YSlow, Page Speed and numerous custom tips.
Metrics Monitor - API
WebPageTest API wrapper for NodeJS
Minifiers - HTML
HTML minifier for Python frameworks (not only Django, despite the name).
grunt plugin for html compression, using htmlcompressor.jar
Ruby wrapper for kangax html-minifier
🚨 [deprecated] Ruby gem for compressing html
minify HTML responses like some crazy guy
A simple command line tool to minify your HTML, Razor views & Web Forms views
Minifiers - JS & CSS
CSS minifier with structural optimizations
Minify files with UglifyJS.
Fast and efficient CSS optimizer for node.js and the Web
Pipeline is an asset packaging library for Django.
A grunt wrapper for CSS Shrink
Shrinks CSS files using cssshrink
Prettify or uglify CSS code
Compress CSS files.
A grunt task for removing unused CSS from your projects.
DEPRECATED. Remove unused CSS selectors.
Find unused and duplicate CSS
A no-dependencies HTTP client library for browsers and Node.js with a promise-based or Node.js-style callback-based API to progress events, text and binary file upload and download, partial response body, request and response headers, status code.
Extract & Inline Critical-path CSS in HTML pages
CSS color minification module
TMI (Too Many Images) - discover your image weight on the web
Socialite provides a very easy way to implement and activate a plethora of social sharing buttons — any time you wish. On document load, on article hover, on any event.
Glue is a simple command line tool to generate CSS sprites
Pythonic dynamic sprite generator
Grunt task for converting a set of images into a spritesheet and corresponding CSS variables
gulp task for creating image sprites and the corresponding stylesheets
Create SVG sprites or compile to
renders SVG in CSS file using data URIs or base64
AssetGraph plugin for creating sprites from background images
A image sprite generator
Automatic CSS Sprite Generator
Grunt task that generates a sprite from images referenced in a style sheet and then updates the references with the new sprite image and positions.
SVG sprites & stacks galore — Grunt plugin wrapping around svg-sprite that reads in a bunch of SVG files, optimizes them and creates SVG sprites and CSS resources in various flavours.
Sprite Cow helps you get the background-position, width and height of sprites within a spritesheet as a nice bit of copyable CSS.
ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
Node.js tool for optimizing SVG files
svgcleaner could help you to clean up your SVG files from the unnecessary data.
SVGOMG is SVGO's Missing GUI, aiming to expose the majority, if not all the configuration options of SVGO.
Polymer Tools Monorepo
Concatenate a set of Web Components into one file
Web server Benchmarks
The httperf HTTP load generator
Ruby driver for httperf - automated load and performance testing
Simple interface for calling httperf via ruby.
Simple PHP Port of HTTPerf.rb [https://github.com/jmervine/httperfrb]
NodeJS port of HTTPerf.rb
Python port of httperfrb
Go Port of HTTPerf.rb - https://github.com/jmervine/httperfrb
Modern HTTP benchmarking tool
A utility for arming (creating) many bees (micro EC2 instances) to attack (load test) targets (web applications).
Open source load testing tool: It is a Java platform application.
An open source load testing tool. Define user behaviour with Python code, and swarm your system with millions of simultaneous users.
Web server Modules
WebP with Accept negotiation
The mission of the Web Performance Working Group, part of the Rich Web Client Activity, is to provide methods to measure aspects of application performance of user agent features and APIs.
This specification defines a means for site developers to programmatically determine the current visibility state of the page in order to develop power and CPU efficient web applications.
This specification defines a unified interface to store and retrieve high resolution performance metric data related to the navigation of a document.
This specification defines an interface for web applications to access the complete timing information for resources in a document.
This specification defines an interface to help web developers measure the performance of their applications by giving them access to high precision timestamps.
This specification defines a unified interface to store and retrieve performance metric data. This specification does not cover individual performance metric interfaces.
This specification defines the
will-change CSS property which allows an author to declare ahead-of-time what properties are likely to change in the future, so the UA can set up the appropriate optimizations some time before they’re needed. This way, when the actual change happens, the page updates in a snappy manner.
This specification defines the dns-prefetch, preconnect, prefetch, and prerender relationships of the HTML Link Element (<link>). These primitives enable the developer, and the server generating or delivering the resources, to assist the user agent in the decision process of which origins it should connect to, and which resources it should fetch and preprocess to improve page performance.
It's a permanent repository of web performance information such as size of pages, failed requests, and technologies utilized. This performance information allows us to see trends in how the Web is built and provides a common data set from which to conduct web performance research.