Tokens
Color, spacing, type, radius, motion, shadow. Three tiers: primitive, semantic, component.
200+ valuesRenDS is a vanilla, accessible, atomic design system. No React, no build step, no framework lock-in — just HTML, CSS custom properties, and a sprinkle of Web Components where native elements aren't enough.
Why RenDS
Every decision in the system ladders up to one of these three. If a feature can't live inside them, it doesn't ship.
Pure HTML, CSS, and JS. Use <dialog>, <details>,
and the Popover API before reaching for JavaScript. Web Components are for
encapsulation, not for rendering.
WCAG 2.1 AA minimum, AAA where it doesn't fight users. Every component ships
with keyboard support, focus management, ARIA, and respects
prefers-reduced-motion. Not an afterthought.
Tokens → Primitives → Composites → Patterns. Build upward, never skip a layer. A Button uses tokens. A Dialog uses buttons. A Form uses dialogs and fields.
What's inside
The system isn't a bag of components — it's a strict atomic stack. Each layer builds on the one below it.
Color, spacing, type, radius, motion, shadow. Three tiers: primitive, semantic, component.
200+ valuesSingle-purpose components with optional JavaScript enhancements. Button, Card, Field, Badge, Tag, Banner, and 13 more.
19 componentsJS-enhanced behavior on top of primitives. Dialog, Tabs, Popover, Combobox, Calendar, and more.
26 componentsMulti-component recipes. Nav, Sidebar, Data Table, Form Validation, Empty State.
8 patternsTry it
No imports. No registration. Add the stylesheet and the class — the browser does the rest. Web Components light up automatically when present.
<!-- Just HTML. No React. -->
<button class="ren-btn ren-btn-primary">
Save changes
</button>
<span class="ren-badge ren-badge-success">
Live
</span>
<label class="ren-field">
<span class="ren-field-label">Project name</span>
<input class="ren-input">
</label>
Templates
Five full-page templates assembled from RenDS components. View source, copy markup, swap copy, ship.
Theme Builder
Pick a base color, a font, a radius, a density. Export as CSS, JSON, or a ZIP. Share by URL. No account, no upload — the configuration lives entirely in the link.