Overview
UnoCSS is an on-demand atomic CSS engine that extracts tokens from source files and generates only the matching CSS. Presets, shortcuts, Attributify, icons, and transformers can be composed into a project-specific utility system.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Generate utilities from configurable presets and rules
Instead of a fixed core utility set, presets and rules define what tokens mean and only used tokens become CSS.
Extend authoring with shortcuts, Attributify, icons, and transformers
Alias groups, attribute syntax, CSS icons, variant groups, and other transformers can be added selectively.
Sources: [2]
For fast utility CSS with custom or swappable presets
It fits teams that want a lightweight utility engine while retaining control over the preset and rule system.
Sources: [2]
Plan extraction for dynamic class names
Classes assembled dynamically at runtime may not be detected statically. Use safelists or other extraction strategies and verify production output.
Sources: [3]
Official sources
- [1]unocss/unocss repository(2026-09-21)
- [2]UnoCSS README(2026-09-21)
- [3]UnoCSS Vite integration(2026-09-21)
- [4]UnoCSS monorepo package(2026-09-21)
- [5]UnoCSS MIT license(2026-09-21)
Supplemental curator note
UnoCSS ships without a fixed core utility set; behavior is assembled through presets and related configuration. The current release is 66.10.5 and the monorepo requires Node.js 22+. GitHub reports NOASSERTION for the repository license, while LICENSE and package metadata explicitly state MIT.
Try it in 3 steps
- 1
Install UnoCSS
Add UnoCSS to a Vite project.
npm install -D unocss - 2
Enable the Vite plugin
Configure the Vite plugin so source tokens can be detected and converted to generated utilities.
import UnoCSS from 'unocss/vite'; plugins: [UnoCSS()] - 3
Load generated CSS and try a utility
Import the virtual stylesheet and verify that only the used utilities are generated.
import 'virtual:uno.css' → <div className="text-red-500 font-bold">Hello</div>
Growth
Growth trends · Last 30 days
18,963 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 63
- Open PRs
- 27
Development activity is still being collected.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- atomic-css
- vite-plugin
- windicss
- engine
- unocss
- Stars
- 18,963
- Forks
- 993
- Watchers
- 66
- Open issues
- 115
- Contributors
- 409
- Primary language
- TypeScript
- License
- MIT
- Repository last updated
- Sep 17, 2026
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- Redux61,490 Stars
1 shared tag(s) · 2 shared category(s) · Same language
A JavaScript/TypeScript state-management library that centralizes application state in a store and updates it predictably through actions and reducers. Redux Toolkit is the officially recommended approach today.
TypeScript - Expo52,361 Stars
1 shared tag(s) · 2 shared category(s) · Same language
A universal React Native framework for building Android, iOS, and web apps from one project model.
TypeScript - tldraw50,488 Stars
1 shared tag(s) · 2 shared category(s) · Same language
A React infinite-canvas SDK extensible with custom shapes, multiplayer collaboration, and AI workflows.
TypeScript - TanStack Query50,342 Stars
1 shared tag(s) · 2 shared category(s) · Same language
An async data-management library for fetching, caching, refetching, and updating server state across React, Vue, Solid, Svelte, and other web frameworks.
TypeScript - Prisma ORM47,646 Stars
1 shared tag(s) · 2 shared category(s) · Same language
A Node.js/TypeScript ORM whose current main branch is the Prisma 8 release candidate, rebuilt in TypeScript around an extension SPI, composable contracts, and AI-agent skills.
TypeScript
Report incorrect information
Tell us if any listing information is incorrect or outdated.