critters VS penthouse

Compare critters vs penthouse and see what are their differences.

critters

🦔 A Webpack plugin to inline your critical CSS and lazy-load the rest. (by GoogleChromeLabs)
Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
critters penthouse
7 5
3,376 2,620
1.2% -
6.6 0.0
about 2 months ago 5 months ago
JavaScript HTML
Apache License 2.0 MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

critters

Posts with mentions or reviews of critters. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-25.
  • Show HN: Jampack – Optimizes static websites as a post-processing step
    3 projects | news.ycombinator.com | 25 Mar 2024
    I'm interested in the notion of identifying "critical" CSS that should be inlined rather than live in its own stylesheet.

    I was hoping there was some principled way of identifying critical and non-critical CSS (e.g. user interaction effects like :hover would always be considered non-critical), but it looks like the library it's using just tries to render your page and do a best-effort detection on which rules are considered critical, which is a little unsatisfying: https://github.com/GoogleChromeLabs/critters

  • Optimize CSS with SAT Solving
    5 projects | news.ycombinator.com | 17 Mar 2024
    https://github.com/GoogleChromeLabs/critters Might be a good starting point. It’s designed to inline the css afterward so it’s more focused on extracting used css than removing unused.
  • Critical CSS and Next.js App Directory
    1 project | /r/nextjs | 26 Nov 2023
    With the Pages dir, we had experimental support for critters. That was good enough for me
  • Remove CSS Styles and Apply Styles to All Elements
    1 project | /r/css | 7 May 2023
    Critters does something similar but it is intended to inline only the CSS that is visible upon the page load (top of the page). There is also a Vite plugin that inlines everything that is possible to inline
  • Optimizing CSS Performance in Nuxt with Critters
    2 projects | dev.to | 26 Dec 2022
    // nuxt.config.js import { defineNuxtConfig } from 'nuxt' export default defineNuxtConfig({ modules: ['@nuxtjs/critters'], critters: { // Options passed directly to critters: https://github.com/GoogleChromeLabs/critters#critters-2 config: { // Default: 'media' preload: 'swap', }, }, })
  • Critical CSS? Not So Fast
    5 projects | news.ycombinator.com | 10 Sep 2022
    I find critters[0] quite easy to work with and well worth implementing on my nextjs or Astro projects.

    I build a lot of landing pages so there are very few multi page visits.

    [0] https://github.com/GoogleChromeLabs/critters

  • Vue Webpack - possible to extract some CSS but not all?
    1 project | /r/vuejs | 24 Dec 2021
    Doesn't critters do this already? https://github.com/GoogleChromeLabs/critters I could be wrong though

penthouse

Posts with mentions or reviews of penthouse. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-03-02.
  • Extracting and using Critical CSS on my Eleventy site
    2 projects | dev.to | 2 Mar 2023
    It is a wrapper around Penthouse, the original critical path CSS generator, and performs two additional functions:
  • Critical CSS? Not So Fast
    5 projects | news.ycombinator.com | 10 Sep 2022
    It is easy with a little automation :). In the build process, adding a step to calculate critical path css helps. This should probably be the last step and run on production post deploy. The calculated CSS is stored in redis which will be appended in the head for subsequent requests. This tool had inspired me to build this process at multiple orgs I have worked with https://github.com/pocketjoso/penthouse.

    Agree on the async JS part but I guess browser makers will solve it soon.

  • What to do for website speed optimization?
    1 project | /r/FreeCodeCamp | 30 Mar 2021
    inline critical css (here is a useful tool https://jonassebastianohlsson.com/criticalpathcssgenerator/) , and here an explanation (https://web.dev/extract-critical-css/).
  • CSS Deep
    2090 projects | dev.to | 26 Feb 2021
    pocketjoso/penthouse - Generate critical css for your urls
  • Force include classes in critical CSS
    2 projects | dev.to | 21 Jan 2021
    Critical CSS uses as its engine penthouse which has in turn a lot of configuration options. One of them, is forceInclude.

What are some alternatives?

When comparing critters and penthouse you can also consider the following projects:

compression-webpack-plugin - Prepare compressed versions of assets to serve them with Content-Encoding

critical - Extract & Inline Critical-path CSS in HTML pages

critters - CSS optimization using critters for Nuxt

article-extractor - To extract main article from given URL with Node.js

webpack-assets-manifest - This webpack plugin will generate a JSON file that matches the original filename with the hashed version.

Compass - Compass is no longer actively maintained. Compass is a Stylesheet Authoring Environment that makes your website design simpler to implement and easier to maintain.

mangle-css-class-webpack-plugin - Minifies and obfuscates the class names in your existing JavaScript, CSS, and HTML without any modern css modules.

haste-perch - Create dynamic HTML easy in the browser using declarative notation

css-loaders - A collection of loading spinners animated with CSS

webpack-config-plugins - Provide best practices for webpack 4 loader configurations

Sequence - The responsive CSS animation framework for creating unique sliders, presentations, banners, and other step-based applications.