awesome-wpo
:pencil: A curated list of Web Performance Optimization. Everyone can contribute here!
https://github.com/davidsonfellipe/awesome-wpo
Last synced: 5 days ago
JSON representation
-
Image Optimizers
-
Meetups
- Exexif - Pure elixir library to extract tiff and exif metadata from JPEG files.
- Imageoptim - Free app that makes images take up less disk space and load faster, without sacrificing quality. It optimizes compression parameters, and removes junk metadata and unnecessary color profiles.
- Shortpixel - Compress Your Image by removing unnecessary bytes of the image and Convert it into WebP/AVIF.
- Smush it - Uses format-specific optimization to remove unnecessary bytes from image files. Lossless: optimizes images without changing their look or visual quality.
- OptiPNG - PNG optimizer that recompresses image files to a smaller size without losing information.
- Imageoptim - Free app that makes images take up less disk space and load faster, without sacrificing quality. It optimizes compression parameters, and removes junk metadata and unnecessary color profiles.
- Tinypng - Advanced lossy compression for PNG images that preserves full alpha transparency.
- Kraken Web-interface - Optimize your images and will be available for download for 12 hours.
- Compressor - Online image compressor for JPG, PNG, SVG and GIF.
- AdvPNG - Recompress PNG files to get the smallest possible size.
- Trimage - A cross-platform tool for losslessly optimizing PNG and JPG files.
- ImageEngine - Cloud service for optimizing, resizing and caching images on the fly with great mobile support.
- ImageKit.io - Intelligent real-time image optimizations, image transformations with a global delivery network and storage.
- Imagemin - Minify images seamlessly with Node.js.
- Gm - GraphicsMagick and ImageMagick for Node.js.
- Sharp - The typical use case for this high-speed Node.js module is to convert large images of many formats to smaller, web-friendly JPEG, PNG, and WebP images of varying dimensions.
- Grunt-contrib-imagemin - Minify PNG and JPEG images for Grunt.
- Grunt-imageoptim - Make ImageOptim, ImageAlpha, and JPEGmini part of your automated build process.
- Grunt-WebP - Convert your images to WebP format.
- mozjpeg - Improved JPEG encoder.
- ZopfliPNG - A command-line program to optimize PNG images.
- Jpegoptim - Utility to optimize/compress JPEG files.
- ImageOptim-CLI - Automates ImageOptim, ImageAlpha, and JPEGmini for Mac to make batch optimization of images part of your automated build process.
- Gulp-imagemin - Minify PNG, JPEG, GIF and SVG images with imagemin for Gulp.
- Leanify - Lightweight lossless file minifier/optimizer.
- Gulp-WebP - Convert images to WebP for Gulp.
- Grunt-smushit - Grunt plugin to remove unnecessary bytes of PNG and JPG using Yahoo Smushit.
- Gulp-smushit - Gulp plugin to optimize PNG and JPG using Yahoo Smushit. Made on top of smosh.
- Optimizt - CLI image optimization tool. It can compress PNG, JPEG, GIF and SVG lossy and lossless, and also create AVIF and WebP versions for raster images.
- Imageoptim - Free app that makes images take up less disk space and load faster, without sacrificing quality. It optimizes compression parameters, and removes junk metadata and unnecessary color profiles.
- Tapnesh-CLI - Tapnesh is a CLI tool that will optimize all your images in parallel easily and efficiently!
- AdvPNG - Recompress PNG files to get the smallest possible size.
- Shrinkray - One-click optimization for images in your GitHub repos
- ResponsiveImage - Generate optimized images (WebP, AVIF) and LQIP placeholders using Vite or Webpack plugins and render responsive image markup with an image component for multiple frameworks.
- ExifCleaner - GUI app to remove EXIF metadata from images and video files with drag and drop. Free and open source.
- Smush it - 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.
-
-
Web server Modules
-
Meetups
- bayandin/awesome-awesomeness
- PageSpeed Module - PageSpeed speeds up your site and reduces page load time. This open-source web server module automatically applies web performance best practices to pages and associated assets (CSS, JavaScript, images) without requiring that you modify your existing content or workflow. PageSpeed is available as a module for Apache 2.x and Nginx 1.x.
- Resource Hints - 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.
- sindresorhus/awesome
- WebP-detect - WebP with Accept negotiation.
- Web Performance Working Group - 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.
- Page Visibility - 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.
- User Timing - This specification defines an interface to help web developers measure the performance of their applications by giving them access to high-precision timestamps.
- Performance Timeline - This specification defines a unified interface to store and retrieve performance metric data. This specification does not cover individual performance metric interfaces.
- Resource Timing - This specification defines an interface for web applications to access the complete timing information for resources in a document.
- HTTP Archive - 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.
- PageSpeed Module - PageSpeed speeds up your site and reduces page load time. This open-source web server module automatically applies web performance best practices to pages and associated assets (CSS, JavaScript, images) without requiring that you modify your existing content or workflow. PageSpeed is available as a module for Apache 2.x and Nginx 1.x.
-
-
CDN
-
Meetups
- Amazon CloudFront - A content delivery network by Amazon that integrates nicely with other Amazon services or can be used standalone.
- Wikipedia
- Cloudflare CDN - A content delivery network that uses next-gen tech to deliver fast, reliable, CDN services.
- Google Hosted Libraries - Google Hosted Libraries is a content distribution network for the most popular, open-source JavaScript libraries.
- CDNjs - An open-source CDN for JavaScript and CSS sponsored by Cloudflare that hosts everything from jQuery and Modernizr to Bootstrap.
- jQuery - Official CDN for the latest stable releases, powered by MaxCDN.
- UpYun CDN - CDN provided by upyun.
- Bootstrap 中文网开放 CDN 服务 - Bootstrap Chinese net open CDN service (only HTTP).
- Yandex CDN - Yandex Content Delivery Network hosts popular third-party JavaScript and CSS libraries (best for use in Russia).
- CDNPlanet
- jsDelivr - Similar to Google Hosted Libraries, jsDelivr is an open-source CDN that allows developers to host their own projects and anyone to link to our hosted files on their sites.
- UpYun CDN - CDN provided by upyun.
- Bootstrap 中文网开放 CDN 服务 - Bootstrap Chinese net open CDN service (only HTTP).
- PageCDN - 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.
- Yandex CDN - Yandex Content Delivery Network hosts popular third-party JavaScript and CSS libraries (best for use in Russia).
-
-
Books
- HTTP/2 in Action by Barry Pollard - Barry Pollard.
- Web Performance in Action by Jeremy Wagner - Jeremy L. Wagner.
- Book of Speed - Stoyan Stefanov.
- Designing for Performance: Weighing Aesthetics and Speed - Lara Hogan.
- Even Faster Web Sites: Performance Best Practices for Web Developers - Steve Souders.
- High Performance Browser Networking: What every web developer should know about networking and web performance - Ilya Grigorik.
- High Performance JavaScript - Nicholas C. Zakas.
- High Performance Web Sites: Essential Knowledge for frontend Engineers - Steve Souders
- High Performance Responsive Design: Building Faster Sites Across Devices - Tom Barker.
- Lean sites - Barbara Bermes.
- Time Is Money: The Business Value of Web Performance - Tammy Everts.
- Using WebPagetest - Rick Viscomi, Andy Davies, Marcel Duran.
- Web Performance Daybook Volume 2 - Stoyan Stefanov
- Web Performance Tuning - Patrick Killelea.
- You Don't Know JS: Async & Performance - Kyle Simpson.
- Linux, Apache, MySQL, PHP Performance end-to-end - Colin McKinnon.
- Web Components in Action - Ben Farrell.
- Image Optimization - Addy Osmani.
- High Performance Web Sites: Essential Knowledge for frontend Engineers - Steve Souders.
- High Performance Web Sites: Essential Knowledge for frontend Engineers - Steve Souders
- Even Faster Web Sites: Performance Best Practices for Web Developers - Steve Souders
- High Performance JavaScript - Nicholas C. Zakas
- Web Performance Daybook Volume 2 - Stoyan Stefanov.
- High Performance Browser Networking: What every web developer should know about networking and web performance - Ilya Grigorik
- High Performance Responsive Design: Building Faster Sites Across Devices
- Time Is Money: The Business Value of Web Performance
- Using WebPagetest - Rick Viscomi, Andy Davies, Marcel Duran
- Web Performance Tuning - Patrick Killelea
- Performance Engineering in Practice - Den Odell.
- Lean sites
-
Case studies
- WPOStats - Case studies and experiments demonstrating the impact of web performance optimization (WPO) on user experience and business metrics.
- Google Developers Case Studies - Learn why and how other developers have used the web to create amazing web experiences for their users.
- Google Developers Case Studies - Learn why and how other developers have used the web to create amazing web experiences for their users.
-
Documentation
- Browser Diet - A collaborative guide about frontend performance.
- PageSpeed Insights Rules - A guide created by PageSpeed Team.
- Best Practices for Speeding Up Your site - The list includes 35 best practices divided into 7 categories, created by Yahoo! Exceptional Performance team.
- Browser Diet - A collaborative guide about frontend performance.
-
Events
-
Conferences
- We Love Speed
- PWA Summit - A free, online, single-track conference focused on helping everyone succeed with Progressive Web Apps.
- Velocity
- performance.now() - The performance.now() conference will return to Amsterdam! We're a single-track conference with fourteen world-class speakers, covering today’s most important web performance insights.
- #PerfMatters - Conference is the ONLINE web performance conference by internationally renowned performance developers.
- We Love Speed - Born from the desire to share knowledge and experiences in web performance as widely as possible.
- Velocity - At Velocity, web operations, performance, and DevOps professionals learn to build fast, resilient, and highly available sites and apps.
- We Love Speed
-
-
Analyzers
-
Meetups
- Web.dev - Get the web's modern capabilities on your own sites and apps with useful guidance and analysis from web.dev.
- DebugBear - Site monitoring based on Lighthouse. See how your scores and metrics changed over time, with a focus on understanding what caused each change. Paid product with a free 30-day trial.
- Page Speed - 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 - PhantomJS build that adds new output formats for automated test frameworks: TAP (Test Anything Protocol) and JUnit.
- Yellow Lab Tools - Online quick and easy tool that audits frontend bad practices, reveals performance issues, and profiles JavaScript.
- Pagelocity - A web performance optimization and analysis tool.
- Speedrank - Monitors your site's performance in the background, displays Lighthouse reports over time, and delivers recommendations for improvement. Paid product with 14-day trial.
- Lightest App - Webpage load time is extremely important for conversion and revenue. Visualize web performance against competitors.
- Web Bloat Score Calculator - Compare size of a page to a compressed image of the same page
- YSlow - Analyzes web pages and suggests ways to improve their performance based on a set of rules for high-performance web pages.
- Confess - Uses PhantomJS to headlessly analyze web pages and generate manifests.
- Yandex.Tank - An extensible open-source load testing tool for advanced Linux users which is especially good as a part of an automated load testing suite.
- Web Tracing Framework - Libraries, tools, and visualizers for tracing and investigating complex web applications.
- Speed Racer - Collect performance metrics for your library/application using Chrome headless.
- Grunt-perfbudget - A Grunt.js task for enforcing a performance budget ([more on performance budgets](https://timkadlec.com/2013/01/setting-a-performance-budget/)).
- Grunt-WebPageTest - Grunt plugin for continuous measurement of WebPageTest. ([Demo](http://sideroad.github.io/sample-wpt-page/))
- Grunt-yslow - Grunt task for testing page performance using PhantomJS, a headless WebKit browser.
- Page Speed - 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.
- Redirect Checker - Analyze HTTP redirect chains, detect loops, and measure performance impact on page load times.
-
-
Application Performance Monitoring
-
Meetups
- Datadog APM - End-to-end distributed tracing and APM at scale, correlated to all telemetry.
- Pingdom - A tool to get the uptime of your website (with probes from different locations).
-
-
Analyzers - API
-
Meetups
- BetterUptime - A good website monitoring tool (bundling status page, incident notification)
- UptimeRobot - Another uptime monitoring tool (with a generous free plan)
- RoboMiri - RoboMiri is a stable Uptime Monitor that offers a wide range of monitors: cronjob, keyword, website, port, ping. 25 uptime checks with 3 minutes interval checks for free. Alerts via Phone Call, SMS, Email, and WebHook.
- StatusList - Uptime, performance monitoring with debug details, and hosted status page in one simple dashboard.
- PSI - PageSpeed Insights for Node.js - with reporting.
- Node-yslowjs - YSlow.js on Node.js is a simple Node.js wrapper for programmatically running phantomjs yslow.js.
- PSI - PageSpeed Insights for Node.js - with reporting.
- Pingdom - A tool to get the uptime of your website (with probes from different locations)
- RoboMiri - RoboMiri is a stable Uptime Monitor that offers a wide range of monitors: cronjob, keyword, website, port, ping. 25 uptime checks with 3 minutes interval checks for free. Alerts via Phone Call, SMS, Email, and WebHook.
-
-
Bundle Analyzer
-
Meetups
- Bundlephobia - Helps you find the performance impact of adding an npm package to your frontend bundle.
- Disc - Visualise the module tree of browserify project bundles and track down bloat.
- Packtracker.io - Check your webpack bundle stats on every pull request, and track them over time.
- Webpack bundle analyzer - webpack plugin and CLI utility that represents bundle content as a convenient interactive zoomable treemap.
- Bundlesize - Keep your bundle size in check.
- BundleStats - Generate bundle report(bundle size, assets, modules, packages) and compare the results between different builds.
- source-map-explorer - Analyze and debug bundle space usage through source maps.
- Compression webpack plugin - Prepare compressed versions of assets to serve them with Content-Encoding.
- Lasso-analyzer - Analyze and visualise project bundles created by Lasso.
- Webpack bundle analyzer - Webpack plugin and CLI utility that represents bundle content as a convenient interactive zoomable treemap.
- Compression Webpack plugin - Prepare compressed versions of assets to serve them with Content-Encoding.
- Disc - Visualise the module tree of browserify project bundles and track down bloat.
- Lasso-analyzer - analyze and Visualise project bundles created by Lasso.
- Packtracker.io - Check your webpack bundle stats on every pull request, and track them over time.
-
-
Benchmark - JavaScript
-
Meetups
- JSPerf - jsPerf aims to provide an easy way to create and share test cases, comparing the performance of different JavaScript snippets by running benchmarks. `Temporarily out, follow this issue for updates: https://github.com/jsperf/jsperf.com/issues/537`
- Benchmark.js - A robust benchmarking library that works on nearly all JavaScript platforms, supports high-resolution timers, and returns statistically significant results.
- JSBench - A modern browser-based JavaScript benchmarking tool for quickly creating and sharing performance tests.
- JSPerf - Create and share test cases comparing JavaScript snippet performance via benchmarks. `Follow this issue for updates: https://github.com/jsperf/jsperf.com/issues/537`.
- Stats.js - This class provides a simple info box that will help you monitor your code performance.
- Timing.js - Small helpers for working with the Navigation Timing API to identify where your application is spending its time. Useful as a standalone script, DevTools snippet, or bookmarklet.
- Memory-stats.js - Minimal monitor for JS Heap Size via performance memory.
- Matcha - Lets you design experiments that measure the performance of your code. Each bench should focus on a specific point of impact in your application.
- JSlitmus - Lightweight tool for creating ad-hoc JavaScript benchmark tests.
- PerfTests - Performance tests of JavaScript inheritance models.
-
-
Bookmarklets
-
Meetups
- Yahoo YSlow for Mobile/Bookmarklet - YSlow analyzes web pages and suggests ways to improve their performance based on a set of rules for high-performance web pages.
- CSS Stress - Stress testing and performance profiling for CSS.
- PerfMap - A bookmarklet to create a frontend performance heatmap of resources loaded in the browser using the Resource Timing API.
- Performance-Bookmarklet - Analyze the current page through the Resource Timing API, Navigation Timing API and User-Timing - Sort of a light live WebPageTest. As [Firefox Add-on](https://addons.mozilla.org/en-US/firefox/addon/performance-analyser/?src=cb-dl-created) under the name Performance-Analyser.
- DOM Monster - A cross-platform, cross-browser bookmarklet that will analyze the DOM & other features of the page you're on, and give you its bill of health.
-
-
CDN - Monitor
-
Meetups
- CDNperf - Finds you fast and reliable JavaScript CDNs that make your sites snappy and happy.
-
-
Generators
-
Meetups
- Grunt-sprite-css-replace - 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.
- Grunt-svg-sprite - 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 flavors.
- Sprite Cow - Sprite Cow helps you get the background-position, width, and height of sprites within a spritesheet as a nice bit of copyable CSS.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- CSS Sprite Generator - CSS sprites allow you to combine multiple images into a single file.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- ZeroSprites - ZeroSprites is a CSS sprites generator aimed at area minimization using algorithms used in the field of VLSI floorplanning.
- Sprite Factory - The sprite factory is a ruby library that can be used to generate CSS sprites. It combines individual image files from a directory into a single unified sprite image and creates an appropriate CSS style sheet for use in your web application.
- Glue - A simple command-line tool to generate CSS sprites.
- Assetgraph-sprite - Assetgraph transform for auto-generating sprites based on the CSS dependency graph.
- Sprity - A modular image sprite generator with a lot of features: supports retina sprites, supports different output formats, generates sprites and proper style files out of a directory of images, etc...
- Grunt-spritesmith - Grunt task for converting a set of images into a sprite sheet and corresponding CSS variables.
- AtBuild - JavaScript code generation tool that lets you write JavaScript that outputs JavaScript. Good for unrolling loops and writing libraries that compile away the runtime.
- Gulp-sprite - Gulp task for creating an image sprite and the corresponding style sheets for Gulp.
- Pitomba-spriter - Spriter is a simple and flexible dynamic sprite generator for CSS, using Python. It can process CSS both synchronous and asynchronous as it provides classes to be used in your Python code and also a watcher that listens to your filesystem and changes CSS and sprite as soon as a static is changed.
- Gulp-svg-sprites - Gulp task for creating SVG sprites.
- SvgToCSS - Optimizes and renders SVG files in CSS / Sass sprites.
- Sprite Cow - Get the background-position, width, and height of sprites within a spritesheet as copyable CSS.
- ZeroSprites - CSS sprite generator aimed at area minimization using algorithms from VLSI floorplanning.
-
-
Loaders
-
Meetups
- RequireJS - JavaScript file and module loader. It is optimized for in-browser use, but it can be used in other JavaScript environments, like Rhino and Node.js.
- InstantClick - Preloads pages on hover so in-site links feel instant.
- HeadJS - The only script in your HEAD. for Responsive Design, Feature Detections, and Resource Loading.
- Defer.js - Async Everything: Make the meat of your pages load faster with this JS morsel.
- JIT - A JIT (Just In Time) plugin loader for Grunt. The load time of Grunt does not slow down even if there are many plugins.
- Labjs - An open-source (MIT license) project supported by Getify Solutions. The core purpose of LABjs is to be an all-purpose, on-demand JavaScript loader, capable of loading any JavaScript resource, from any location, into any page, at any time.
- Labjs - is an open-source (MIT license) project supported by Getify Solutions. The core purpose of LABjs is to be an all-purpose, on-demand JavaScript loader, capable of loading any JavaScript resource, from any location, into any page, at any time.
-
-
Metrics Monitor
-
Meetups
- Showslow - 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 - Free tool to test and monitor your page's performance. Uses Lighthouse to score your pages and offers actionable recommendations on how to optimize them.
- Pingbreak.com - Free site and SSL Monitoring with response time alerting (on Slack, Twitter, Mattermost, Discord or custom Webhook).
- Dotcom-tools - Analyze your website's speed in real browsers from 20 locations worldwide.
- WebPageTest - 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 - 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.
- Perfjankie - Runtime Browser Performance regression suite ([Demo](https://github.com/asciidisco/perfjankie-test)).
- BrowserView Monitoring - Continually checks web page load times in Internet Explorer, Chrome and Firefox from multiple points around the world.
- New Relic Browser Monitoring - Monitor your browser-side applications in real time, with a focus on real end users’ experiences.
- DareBoost - Real Browser Monitoring. Offers complete reports about web performance and quality using YSlow, Page Speed and numerous custom tips.
- Bytes Matter Real User Monitoring - Full featured Real User Monitoring solution. Free tier for smaller sites. Includes monitoring for Google's Core Web Vitals.
- Pingdom site Speed Test - Test the load time of that page, analyze it, and find bottlenecks.
- Showslow - 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.
- Phantomas - PhantomJS-based web performance metrics collector and monitoring tool.
- Grunt-phantomas - Grunt plugin wrapping phantomas to measure frontend performance.
- Bench - Using Phantomas (a PhantomJS-backed client performance metrics scrapper). Benchmark a page, store results in MongoDB, and display results via the built-in server.
- Keepfast - Tool to monitor indicators related to the performance of a web page.
- Bytes Matter Real User Monitoring - Full featured Real User Monitoring solution. Free tier for smaller sites. Includes monitoring for Google's Core Web Vitals.
- Pingdom site Speed Test - Test the load time of that page, analyze it, and find bottlenecks.
- BrowserView Monitoring - Continually checks web page load times in Internet Explorer, Chrome and Firefox from multiple points around the world.
- WebPageTest - 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.
-
-
Metrics Monitor - EMAIL
-
Meetups
- WebPerformance Report - Web performance report every week in your inbox. Get a Personalized Report on the Status of the E-commerce or Website that you want to monitor in terms of Web performance and Web optimization, Core Web Vitals are included.
-
-
Minifiers - HTML
-
Meetups
- HTMLCompressor - HtmlCompressor is a small, fast, and very easy to use Java library that minifies given HTML or XML source by removing extra whitespaces, comments, and other unneeded characters without breaking the content structure. As a result page become smaller in size and load faster. A command-line version of the compressor is also available.
- HTMLMinifier - Highly configurable, well-tested, JavaScript-based HTML minifier with lint-like capabilities.
- Django-htmlmin - HTML minifier for Python with full support for HTML 5. Supports Django, Flask, and any other Python web framework, plus a command-line tool for static sites or deployment scripts.
- Minimize - HTML minifier based on node-htmlparser; currently server-side only. Client-side minification is planned.
- Koa HTML Minifier - Middleware that minifies your HTML responses using html-minifier. It uses html-minifier's default options which are all turned off by default, so you have to set the options otherwise it's not going to do anything.
- Gulp-htmlmin - A gulp plugin to minify HTML that uses HTMLMinifier.
- HTML_press - Ruby gem for compressing html, that removes all whitespace junk, and leaves only HTML.
- HTML_minifier - Ruby wrapper for kangax html-minifier.
- Grunt-contrib-htmlmin - A grunt plugin to minify HTML that uses HTMLMinifier.
- Grunt-htmlcompressor - Grunt plugin for HTML compression, using htmlcompressor.
- Html-minifier - A simple Windows command-line tool to minify your HTML, Razor views & Web Forms views.
- HTML Minifier Online - A HTML min tool by kangax (HTMLMinifier Creator).
-
-
Minifiers - JS & CSS
-
Meetups
- CSSmin.js - JavaScript port of YUICompressor's CSS minifier.
- JSCompress - The most minimalistic online JS Compress tool.
- Grunt-uncss - A grunt task for removing unused CSS from your projects.
- Clean-css - A fast, efficient, and well-tested CSS minifier for node.js.
- Django-compressor - Compresses linked and inline JavaScript or CSS into a single cached file.
- Django-pipeline - Pipeline is an asset packaging library for Django, providing both CSS and JavaScript concatenation and compression, built-in JavaScript template support, and optional data-URI image and font embedding.
- CSSshrink - Because CSS is ospon the critical path to rendering pages. It must be small! Or else!
- UglifyJS2 - UglifyJS is a JavaScript parser, minifier, compressor or beautifier toolkit, written in JavaScript.
- CSSO - CSS minimizer unlike others. In addition to usual minification techniques, it can perform structural optimization of CSS files, resulting in smaller file size compared to other minifiers.
- Gulp-uncss - A gulp task for removing unused CSS from your projects.
- JShrink - PHP class that minifies JavaScript for faster delivery to the client.
- Grunt-contrib-uglify - A Grunt plugin to concatenate and minify JavaScript files.
- Grunt-contrib-concat - A Grunt plugin to concatenate files.
- YUI Compressor - JavaScript compressor which, in addition to removing comments and white-spaces, obfuscates local variables using the smallest possible variable name. This obfuscation is safe, even when using constructs such as 'eval' or 'with' (although the compression is not optimal is those cases) Compared to jsmin, the average savings is around 20%.
- Grunt-contrib-cssmin - CSS Minifier for Grunt.
- Prettyugly - Uglify (strip spaces) or prettify (add consistent spaces) CSS code.
- UglifyJS2 - UglifyJS is a JavaScript parser, minifier, compressor or beautifier toolkit, written in JavaScript.
- Clean-css - A fast, efficient, and well-tested CSS minifier for node.js.
- Grunt-cssshrink - This is just a grunt wrapper for CSS Shrink.
- Gulp-cssshrink - Shrinks CSS files using cssshrink for Gulp.
- Django-pipeline - Pipeline is an asset packaging library for Django, providing both CSS and JavaScript concatenation and compression, built-in JavaScript template support, and optional data-URI image and font embedding.
- Grunt-uncss - A grunt task for removing unused CSS from your projects.
- JSCompress - The most minimalistic online JS Compress tool.
-
-
Miscellaneous
-
Meetups
- Socialite.js - 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.
- Lazysizes - High-performance lazy loader for images (responsive and normal), iframes, and scripts, that detects any visibility changes triggered through user interaction, CSS or JavaScript without configuration.
- TMI - Too Many Images: discover your image weight on the web.
- Critical - Extract & Inline Critical-path CSS in HTML pages (alpha).
- uCSS - Crawls large sites to find unused CSS selectors (does not remove unused CSS).
- HTTPinvoke - 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.
- Csscolormin - Utility that minifies CSS colors, example: min("white"); // minifies to "#fff".
- Socialite.js - 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.
- Perf-Tooling - Perf Tooling is a shared resource to keep track of new and existing performance tools.
-
-
SVG
-
Meetups
- Gulp-svgmin - Minify SVG with SVGO for Gulp.
- Scour - Scour is an open-source Python script that aggressively cleans SVG files, removing a lot of 'cruft' that certain tools or authors embed into their documents.
- Grunt-svgmin - Minify SVG using SVGO for Grunt.
- SVGO - Node.js-based optimizer for SVG vector graphics.
- SVG OMG - SVGOMG is SVGO's Missing GUI, aiming to expose the majority, if not all the configuration options of SVGO.
- Scour - Open-source Python script that aggressively cleans SVG files, stripping cruft that tools or authors embed in documents.
- SVG Cleaner - Cleans SVG files of unnecessary data with batch mode, many cleanup options, and threaded processing on multicore CPUs.
-
-
Web Components
-
Meetups
- Polymer Bundler - Polymer-bundler is a library for packaging project assets for production to minimize network round-trips.
- Gulp-vulcanize - Concatenate a set of Web Components into one file that use Vulcanize.
-
-
Web server Benchmarks
-
Meetups
- Apache JMeter - Open source load testing tool: It is a Java platform application.
- Locust - An open-source load testing tool. Define user behaviour with Python code, and swarm your system with millions of simultaneous users.
- k6 - An open-source load testing tool built for developers. Easy to integrate into CI pipelines. Tests are written in ES6 JS and you can test APIs, microservices and sites using HTTP/1.1, HTTP/2 and WebSocket.
- beeswithmachineguns - A utility for arming (creating) many bees (micro EC2 instances) to attack (load test) targets (web applications).
- wrk - A HTTP benchmarking tool (with optional Lua scripting for request generation, response processing, and custom reporting).
- HTTPerf - Measures web server performance with flexible generation of HTTP workloads and server metrics.
- Autoperf - Ruby driver for httperf to automate load and performance testing for a single endpoint or via log replay.
- HTTPerf.rb - Simple Ruby interface for httperf, written in Ruby.
- HTTPerf.py - Python Port of HTTPerf.rb.
- HTTPerf.js - JS Port of HTTPerf.rb.
- PHP-httperf - PHP Port of HTTPerf.rb.
- Gohttperf - Go Port of HTTPerf.rb.
-
-
Specs
-
Meetups
- Web Performance Working Group - 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.
- Page Visibility - 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.
- Resource Timing - This specification defines an interface for web applications to access the complete timing information for resources in a document.
- User Timing - This specification defines an interface to help web developers measure the performance of their applications by giving them access to high-precision timestamps.
- Performance Timeline - This specification defines a unified interface to store and retrieve performance metric data. This specification does not cover individual performance metric interfaces.
- CSS will-change - 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.
- Resource Hints - 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.
- Navigation Timing - This specification defines a unified interface to store and retrieve high resolution performance metric data related to the navigation of a document.
-
-
Stats
-
Meetups
- HTTP Archive - 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.
-
-
Real User Monitoring
-
Meetups
- SpeedCurve - Web performance monitoring combining synthetic testing, RUM, Lighthouse, Core Web Vitals, performance budgets, and competitive benchmarking.
- Atatus - Full-stack observability including RUM, APM, synthetic uptime, session replay, and OpenTelemetry.
- Catchpoint Real User Monitoring - RUM for web and native mobile apps with Core Web Vitals, third-party impact, and correlation with synthetic monitoring (OpenTelemetry-based).
- Datadog Real User Monitoring - Browser and mobile RUM with session replay, Core Web Vitals, and correlation with traces and logs.
- New Relic Browser Monitoring - Real-user browser monitoring with Core Web Vitals, distributed tracing to backend, and deployment markers.
- Boomerang (Open Source) - Documentation for the Open Source version of Boomerang, which is maintained by Akamai employees with contributions from the OSS community.
- Akamai mPulse Boomerang - Documentation for the Akamai mPulse version of Boomerang, which includes additions specific to interacting with mPulse.
-
-
Core Web Vitals
-
Meetups
- Lighthouse - Audits Core Web Vitals in lab conditions (see [Analyzers](#analyzers)).
- Lighthouse CI - Run Lighthouse in CI to enforce Core Web Vitals budgets on every commit.
- web-vitals - Small library to accurately measure Core Web Vitals (LCP, FID, CLS, INP, TTFB) in the browser.
-
-
Lazyloaders
-
CDN - Utilities
-
Meetups
- Gulp-google-cdn - Replaces script references with Google CDN ones.
-
-
Other Awesome Lists
-
Meetups
- iamakulov/awesome-webpack-perf - A curated list of Webpack tools for web performance.
- imteekay/web-performance-research - Research in Web Performance.
-
-
Metrics Monitor - API
-
Meetups
- WebPageTest API Wrapper for Node.js - WebPageTest API Wrapper is an npm package that wraps WebPageTest API for Node.js as a module and a command-line tool.
- WebPageTest API Wrapper for Node.js - WebPageTest API Wrapper is an npm package that wraps WebPageTest API for Node.js as a module and a command-line tool.
-
-
Extensions
-
Meetups
- Browser Calories - The easiest way to measure your performance budget.
- Browser Calories - The easiest way to measure your performance budget.
-
-
Benchmark - PHP
-
Benchmark - CSS
-
Meetups
- CSS-perf - Completely unscientific way of testing CSS performance. Most of these tests will revolve around methodologies and techniques for determining effective CSS architecture. Put another way, I want to know what works best given a particular comparison of CSS strategies.
-
Programming Languages
Categories
Generators
67
Image Optimizers
36
Books
30
Minifiers - JS & CSS
23
Metrics Monitor
21
Analyzers
19
CDN
15
Bundle Analyzer
14
Web server Modules
12
Web server Benchmarks
12
Minifiers - HTML
12
Benchmark - JavaScript
10
Miscellaneous
9
Analyzers - API
9
Specs
8
Events
8
Real User Monitoring
7
SVG
7
Loaders
7
Bookmarklets
5
Documentation
4
Case studies
3
Core Web Vitals
3
Lazyloaders
2
Application Performance Monitoring
2
Metrics Monitor - API
2
Benchmark - PHP
2
Other Awesome Lists
2
Web Components
2
Extensions
2
Metrics Monitor - EMAIL
1
CDN - Monitor
1
Benchmark - CSS
1
Stats
1
CDN - Utilities
1
Sub Categories
Keywords
javascript
14
performance
10
nodejs
7
svg
5
css
5
optimization
5
webperf
4
png
4
webpack
4
gulp-plugin
4
minification
4
minify
3
jpeg
3
webp
3
performance-metrics
3
webpack-plugin
3
treemap
3
minifier
3
image-optimization
3
image
2
image-processing
2
avif
2
css-optimizations
2
css-optimizer
2
web-performance
2
lazyload
2
mozjpeg
2
libjpeg
2
html
2
jpegoptim
2
bundle-analyzer
2
framework
2
clean-css
2
performance-test
2
developer-tools
2
performance-analysis
2
html-minifier
2
web
2
dom
2
gif
2
imagemin
2
benchmark
2
analyze
2
bundle
2
chart
2
interactive
2
size
2
webpack-bundle-analyzer
2
jpeg-encoder
2
lighthouse
1