vanilla-extract-css/vanilla-extract

Zero-runtime Stylesheets-in-TypeScript

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 3 minutes ago
Added to GitGenius on September 5th, 2026
Created on March 26th, 2021
Open Issues & Pull Requests: 74 (+0)
GitHub issues: Enabled
Number of forks: 357
Total Stargazers: 10,420 (+0)
Total Subscribers: 35 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 2.5 days
Mean response time: 59.9 days
90th percentile: 212.2 days
Tracked items: 99

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 4% of issues opened in the past year have been closed. Three people close 77% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 28
New in 7 days: 1
Closed in 7 days: 0
Avg open age: 851 days
Stale 30+ days: 27
Stale 90+ days: 21

Recent activity

Opened in 7 days: 1
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • vite (30)
  • pending triage (25)
  • bug (19)
  • css (12)
  • nextjs (12)
  • enhancement (7)
  • has-workaround (7)
  • upstream issue (6)

Detailed Description

Vanilla-extract is a zero-runtime CSS-in-TypeScript tool that generates static stylesheets at build time.

The tool addresses the need to write type-safe, scoped styles without shipping JavaScript to the browser. It works by letting developers write styles in `.css.ts` files using TypeScript, then evaluates those files at build time to produce static CSS output. Class names, CSS Variables, keyframes, and font-face rules are all locally scoped by default. The approach treats TypeScript as a preprocessor similar to Sass or Less, but with the added benefit of full type safety through CSSType integration and the ability to use TypeScript's computational power to generate styles.

Vanilla-extract suits projects where developers want to avoid runtime CSS-in-JS overhead while maintaining type safety and local scoping. It works with any front-end framework or without one, making it framework-agnostic. The tool provides a high-level theme system supporting simultaneous themes without global state, and includes utilities for generating variable-based calc expressions. For teams seeking higher-level abstractions, the project offers Sprinkles, an official zero-runtime atomic CSS framework built on top of vanilla-extract. An optional runtime version is available for development and testing, and a dynamic runtime theming API exists for cases requiring it.

The project maintains active engagement with its community through regular issue responses and pull request reviews. Development follows a structured approach with clear contribution guidelines and documentation. The codebase receives consistent updates addressing user feedback and expanding capabilities. The maintainers demonstrate responsiveness to adoption questions and provide comprehensive setup guidance across multiple build tools and frameworks.