vercel/styled-jsx

Full CSS support for JSX without compromises

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 40 minutes ago
Added to GitGenius on September 8th, 2026
Created on December 5th, 2016
Open Issues & Pull Requests: 83 (+0)
GitHub issues: Enabled
Number of forks: 267
Total Stargazers: 7,775 (+0)
Total Subscribers: 98 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 21.5 days
Mean response time: 230.2 days
90th percentile: 960.0 days
Tracked items: 11

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 6
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,127 days
Stale 30+ days: 6
Stale 90+ days: 6

Recent activity

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

Top labels

  • discussion (1)
  • released (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

styled-jsx is a CSS-in-JS library that provides scoped, component-friendly styling for JSX with full CSS support.

The tool solves the problem of styling React components without global namespace pollution or CSS specificity conflicts. It works by using a Babel plugin to transform `<style jsx>` tags embedded in JSX into scoped CSS that is injected at runtime or during server-side rendering. Styles are automatically scoped to their component, and selectors, animations, and keyframes remain isolated. The library includes built-in vendor prefixing and supports dynamic styles through interpolated props, className toggling, or inline styles.

Developers should choose styled-jsx if they want full CSS power without learning a restricted syntax or accepting tradeoffs in capability. It suits projects using React or Next.js where component-scoped styling matters and server-side rendering may be involved. The tool is particularly valuable for applications that need both client-side and server-side rendering support, as it handles style injection efficiently in both contexts. The runtime footprint is minimal at just a few kilobytes gzipped.

The project maintains active development with regular updates and bug fixes. The codebase includes comprehensive configuration options for different build environments, such as optimized CSS injection for production and source map generation for development. The tool supports CSS preprocessing through a plugin system, allowing developers to extend it with additional capabilities. TypeScript support and ESLint integration are available, and the project provides clear documentation for common use cases like building component libraries and styling third-party components.