Comparison
Overview #
µCSS sits at the intersection of semantic and classless CSS frameworks. It styles standard HTML out of the box, provides optional classes for enhanced components, and ships with 20 color themes — all in a single CSS file with no JavaScript dependency.
µCSS started as a fork of PicoCSS, expanding it with more components, a richer color system, and built-in theme files. This page compares µCSS with other popular CSS frameworks to help you pick the right tool for your project.
Feature comparison #
All sizes are CSS only, minified and gzipped. Frameworks marked "Yes" under JS need additional JavaScript for interactive components (modals, dropdowns, tooltips).
| Framework | Size (min+gz) | Approach | JS required | Themes | Color roles | Dark mode | Components | Maintained |
|---|---|---|---|---|---|---|---|---|
| µCSS | ~19 KB | Semantic | No | 20 | 11 | Yes | ~37 | Yes |
| PicoCSS | ~12 KB | Semantic / classless | No | 20 | 3 | Yes | ~9 | Yes |
| Bootstrap | ~31 KB | Utility + semantic | Yes | 2 | 8 | Yes | ~24 | Yes |
| Bulma | ~66 KB | Semantic | No | 2 | 6 | Yes | ~18 | Yes |
| Foundation | ~18 KB | Semantic | Yes | 0 | 5 | Partial | ~26 | Low |
| UIkit | ~31 KB | Modular | Yes | 0 | 5 | Partial | ~35 | Yes |
Reading the table #
- Semantic frameworks style HTML elements directly (
<button>,<table>) while also providing CSS classes for more complex components. - Classless frameworks style HTML elements with zero or near-zero classes. They are great for prototyping but offer fewer components.
- Utility frameworks provide low-level utility classes (
.text-center,.p-4) that you compose to build your UI. - Modular frameworks offer standalone CSS modules that you import individually.
- Themes = number of pre-built color themes shipped as ready-to-use CSS files.
- Color roles = number of named semantic colors per theme (e.g. primary, secondary, success, danger). More roles mean more expressive power without custom CSS.
- Maintained: "Yes" = active development, "Low" = occasional updates, "No" = no release since 2020+.
Key differences #
µCSS vs PicoCSS #
µCSS is a fork of PicoCSS, so the two share the same semantic-first philosophy. The main differences:
- Color system — µCSS has 11 color roles (primary, secondary, tertiary, contrast, accent, spark, pop, success, info, warning, error) vs Pico's more limited palette.
- Extra components — µCSS adds tooltips, toasts, accordions, badges, skeleton loaders, heroes, spinners, and more.
- Theme files — both ship 20 themes, but µCSS themes use a broader color palette with more semantic roles.
- CSS variables — µCSS exposes more design tokens as custom properties for fine-grained customization.
µCSS vs Bootstrap #
Bootstrap is the most popular CSS framework, with a large ecosystem of themes, plugins, and documentation. Key trade-offs:
- Size — Bootstrap's CSS alone is ~31 KB gzipped, plus ~28 KB of JavaScript for interactive components. µCSS is ~19 KB total, no JS.
- Approach — Bootstrap relies heavily on classes (
.btn .btn-primary .btn-lg). µCSS styles the<button>element directly. - Interactive components — Bootstrap's modals, dropdowns, and tooltips require JavaScript. µCSS achieves these with pure CSS using native HTML elements (
<dialog>,<details>).
µCSS vs lightweight frameworks #
Classless and minimal frameworks style raw HTML with zero or very few classes. They are smaller (~2-8 KB) and great for prototyping or simple pages. However, they offer far fewer components, no built-in themes, and often lack features like modals, tooltips, toasts, or grids.
µCSS bridges the gap: it works like a classless framework for basic elements, but scales up when you need more.
| Framework | Size (min+gz) | Components | Color roles | Dark mode | Maintained |
|---|---|---|---|---|---|
| Chota | ~4 KB | ~7 | 5 | Yes | Yes |
| KNACSS | ~8 KB | ~4 | 5 | No | Low |
| Milligram | ~2 KB | ~1 | 1 | No | No |
| mini.css | ~8 KB | ~10 | 4 | No | No |
| MVP.css | ~3 KB | ~2 | 2 | Yes | Yes |
| Picnic CSS | ~7 KB | ~7 | 3 | No | Low |
| Pure.css | ~4 KB | ~2 | 0 | No | Low |
| Röcssti | ~3 KB | 0 | 0 | No | Yes |
| Simple.css | ~3 KB | ~2 | 1 | Yes | Yes |
| Skeleton | ~2 KB | ~1 | 0 | No | No |
| Water.css | ~4 KB | ~1 | 0 | Yes | Low |
For reference, µCSS is ~19 KB with ~37 components, 11 color roles, dark mode, and 20 built-in themes.
Other notable frameworks #
Several other CSS frameworks exist but differ significantly from µCSS in scope, size, or status:
- Materialize (~23 KB CSS, ~20 components) — a Material Design framework. The community fork (v2) is actively maintained with dark mode support, but requires JavaScript for interactive components.
- Fomantic-UI (~186 KB CSS, 25+ components) — a community fork of Semantic UI. Feature-rich but very heavy, with JavaScript dependencies.
- MetroUI (~121 KB CSS, 30+ components) — a Windows Fluent-inspired framework with 150+ components. Actively maintained but significantly larger than µCSS.
- INK (~17 KB CSS, ~14 components) — a Portuguese framework by SAPO. Inactive since 2015.
- Cascade (~11 KB CSS, ~3 components) — an atomic CSS approach inspired by SMACSS/OOCSS. Inactive since 2015.
µCSS vs Tailwind CSS #
Tailwind CSS takes a fundamentally different approach. While µCSS is semantic — you write standard HTML and get styled output — Tailwind is utility-first: every visual property is applied through CSS classes.
A button in µCSS:
<button>Save</button>
The same button in Tailwind:
<button class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded">
Save
</button>
Tailwind gives you total control over every pixel, but at the cost of verbose HTML and a mandatory build step (PostCSS). It ships no pre-styled components — you build everything from utility classes, or use a paid component library like Tailwind UI.
| µCSS | Tailwind CSS | |
|---|---|---|
| Approach | Semantic — style the element | Utility — style with classes |
| Build step | None | Required (PostCSS) |
| Pre-styled components | ~37 included | None (build your own) |
| Output size | ~19 KB (fixed) | Varies (tree-shaken per project) |
| HTML verbosity | Minimal | High (many classes per element) |
| Customization | CSS variables | Config file + utility classes |
| Learning curve | Low (write HTML) | Medium (learn class vocabulary) |
Choose µCSS when you want a drop-in solution with no build step, prefer semantic HTML, and need pre-built components out of the box.
Choose Tailwind when you need pixel-perfect custom designs, are comfortable with a build pipeline, and want maximum control over every element's appearance.
When to choose µCSS #
µCSS is a good fit when:
- You want styled HTML out of the box — write a
<button>, get a styled button. - You need no build step — include a single CSS file and start coding.
- You want multiple color themes — swap between 20 themes by changing one file.
- You need dark mode — toggle with a single
data-themeattribute, globally or per-component. - You don't want JavaScript dependencies for modals, accordions, or tooltips.
- You care about file size — ~19 KB for a full-featured framework.
- You want customization without rebuilding — override CSS variables, keep the rest.