compiled VS vanilla-extract

Compare compiled vs vanilla-extract and see what are their differences.

compiled

A familiar and performant compile time CSS-in-JS library for React. (by atlassian-labs)

vanilla-extract

Zero-runtime Stylesheets-in-TypeScript (by vanilla-extract-css)
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
compiled vanilla-extract
16 90
1,961 9,262
0.9% 1.3%
9.1 8.9
6 days ago 8 days ago
TypeScript TypeScript
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.

compiled

Posts with mentions or reviews of compiled. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-13.
  • Why is tailwind so hyped?
    7 projects | /r/webdev | 13 Jan 2023
    tags inside SFCs are typically injected as native </code> tags during development to support hot updates. <strong>For production they can be extracted and merged into a single CSS file.</strong></p> </blockquote> <p>There are also 3rd party CSS libs that do the same thing such as <a href="https://linaria.dev/">linaria</a>, <a href="https://vanilla-extract.style/">vanilla-extract</a>, and <a href="https://compiledcssinjs.com/">compiled CSS</a>. Which can be used in the event you're stuck with something that doesn't have baked in support via SFC formats (looking at you React).</p> <p>These are my preferred ways of handing it.</p> <ol> <li>Tailwind</li> </ol> <p>Option 2 is tailwind, which works backwards.</p> <p>That is, instead of the above with extraction where you write the styles, and the framework or libs extract them and replace them with class names, it's the other way around.</p> <p>You're writing class names first (which are essentially aggregated CSS property-values) which then generate and/or reference styles.</p> <p>It has the advantage of being easy to write (assuming you've got editor LSP, linting, etc), but as you've discovered, it's difficult to read / can get really messy really fast.</p> <p>As far as all the other claims on the Tailwind site, it's all marketing, at least 80% bullshit.</p> </div>
  • Individual css for every component?
    3 projects | /r/webdev | 14 Dec 2022
  • Hey friendos, need some help choosing a "framework" with some specific requirements in mind
    5 projects | /r/webdev | 8 Dec 2022
    Your choice of CSS lib. Bootstrap can still be a valid choice, tho you may want to check the docs of whatever SSR / SSG framework you end up using as they may have better (or worse support). For example if you wanted to do CSS-in-JS (Next) i'd consider Linaria, vanilla-extract, or compiled.
  • Why We're Breaking Up with CSS-in-JS
    6 projects | /r/javascript | 16 Oct 2022
    So to be extremely clear, the issue isn't CSS-in-JS per se, it's just that the author only looked at implementations that don't generate create CSS files. He notably mentioned the (apparent) zero-runtime solutions Vanilla Extract and Linaria, only to skip them and complain that Compiled inserts nodes at runtime.
    11 projects | dev.to | 16 Oct 2022
    Compiled
  • How common is using styled components?
    3 projects | /r/reactjs | 2 May 2022
    Link: https://compiledcssinjs.com/
  • SASS vs CSS Modules vs CSS-in-JS vs Compile time CSS-in-JS. Who wins?
    9 projects | dev.to | 11 Jan 2022
    Compiled (Compile time CSS-in-JS solution from Atlassian)
  • CSS in JS zero runtime libraries similar to JSS which allow to reuse styles?
    3 projects | /r/reactjs | 4 Nov 2021
    Stitches Is near zero runtime and vanilla-extract claims it's zero runtime and typed. There's atlassian compiled as well but I never used it.
  • Goodbye CSS Modules, Hello TailwindCSS
    9 projects | news.ycombinator.com | 4 Nov 2021
    Author here, I haven't had time to play around with it, but this library[0] from Atlassian looks like a "best of the both worlds" styling approach: CSS-in-JS authorship without the runtime penalty.

    [0] https://compiledcssinjs.com/

  • A familiar and performant compile time CSS-in-JS library for React
    1 project | news.ycombinator.com | 21 Mar 2021

vanilla-extract

Posts with mentions or reviews of vanilla-extract. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-22.
  • The best testing strategies for frontends
    8 projects | dev.to | 22 Apr 2024
    In our experience, the best testing strategy for modern frontends is a combination of E2E testing (using Playwright+NextJS), and unit testing. Visual regression testing is not worth the effort in our opinion, especially with the advent of better CSS tooling like TailwindCSS and Vanilla Extract.
  • Is there really anything better than Css Modules?
    2 projects | /r/Frontend | 7 Dec 2023
    For building component libraries I’ve been a big fan of vanilla extract. Apparently it’s from the same people who made css modules
  • Introducing StyleX - the styling system used by Meta
    1 project | /r/webdev | 6 Dec 2023
    This sounds exactly like Vanilla Extract. https://vanilla-extract.style/
  • An Overview of 25+ UI Component Libraries in 2023
    40 projects | dev.to | 10 Sep 2023
    KumaUI : Another relatively new contender, Kuma uses zero runtime CSS-in-JS to create headless UI components which allows a lot of flexibility. It was heavily inspired by other zero runtime CSS-in-JS solutions such as PandaCSS, Vanilla Extract, and Linaria, as well as by Styled System, ChakraUI, and Native Base. ### Vue
  • Creating a Component Library Fast🚀(using Vite's library mode)
    7 projects | dev.to | 11 Aug 2023
    The components are styled with CSS modules. When building the library, these styles will get transformed to normal CSS style sheets. This means that the consuming application will not even be required to support CSS modules. (In the future I want to extend this tutorial to use vanilla-extract instead.)
  • Tailwind CSS and the death of web craftsmanship
    8 projects | news.ycombinator.com | 2 Aug 2023
    I do a lot of UI work and have never understood the appeal of Tailwind. It’s like relearning a new language. Tailwind was released in 2017. Maybe the CSS landscape wasn’t as good back then? Modern CSS is pretty awesome.

    I’ve enjoyed using Vanilla Extract https://vanilla-extract.style/. It’s like css-in-js with none of the downsides as everything gets compiled to css.

  • PSA: Rust web frontend with Tailwind is easy!
    3 projects | /r/rust | 1 Jul 2023
    Nah, I used enough Tailwind to know it becomes a spaghetti mess. I stick with CSS now, and in React I use https://vanilla-extract.style, compile time CSS in TypeScript.
  • What's the best option these days for CSS in JS?
    10 projects | /r/reactjs | 18 Jun 2023
    Vanilla Extract is my current choice for the next greenfield project. I would also recommend checking out how and why this team integrated it with Tailwind.
  • Feeling lost on grokking large libraries
    2 projects | /r/node | 13 Jun 2023
    I'm not trying to call a particular org or library out, because I think the ones I've been digging through (and prompted me to write this) are very high quality. It's vanilla-extract (a build-time CSS-in-JS library) and Braid Design System (built on vanilla-extract).
  • Coming here from svelteland... is there a way to put CSS module inside JS?
    4 projects | /r/solidjs | 3 Jun 2023
    Apart from what has been suggested, there is also https://vanilla-extract.style/.

What are some alternatives?

When comparing compiled and vanilla-extract you can also consider the following projects:

linaria - Zero-runtime CSS in JS library

stitches - [Not Actively Maintained] CSS-in-JS with near-zero runtime, SSR, multi-variant support, and a best-in-class developer experience.

identity-obj-proxy - An identity object using ES6 proxies. Useful for mocking webpack imports like CSS Modules.

panda - 🐼 Universal, Type-Safe, CSS-in-JS Framework for Product Teams ⚡️

twin.macro - 🦹‍♂️ Twin blends the magic of Tailwind with the flexibility of css-in-js (emotion, styled-components, solid-styled-components, stitches and goober) at build time.

styled-components - Visual primitives for the component age. Use the best bits of ES6 and CSS to style your apps without stress 💅

Tailwind CSS - A utility-first CSS framework for rapid UI development.

tailwindcss-classnames - Functional typed classnames for TailwindCSS

shadcn/ui - Beautifully designed components that you can copy and paste into your apps. Accessible. Customizable. Open Source.

jest-styled-components - 🔧 💅 Jest utilities for Styled Components