Circle Design System
Circle's aubergine licorice ink and buttons on a pale periwinkle canvas, Circularxx on every tier and USDC blue accents. For React, Next.js and AI tools.
- Primary color
- #29233b
- Typeface
- Circularxx
- Shape
- Soft
- Base radius
- 10px
- Colors
- 16
- Type tokens
- 13
- Components
- 18
- Spacing values
- 7
About Circle DESIGN.md
Curated by Dov Azencot, updated May 19, 2026. Source circle.com (opens in a new tab).
Circle's marketing site has an identity signal that takes a moment to name: the dark color that does everything is not black, not navy, but aubergine. The primary ink, the button fill, the button border, the text-selection highlight, and the CSS variable `--colors-all--primary` all resolve to the same deep purple-near-black (#29233b), wired as "Licorice 700" in the system's semantic palette. The effect, against a pale periwinkle canvas, is that Circle reads simultaneously as a financial institution (dark, authoritative) and a product with a distinctive chromatic identity (the canvas is never neutral white, always blue-lavender). Where Stripe leans indigo, and where most crypto-infrastructure brands reach for electric blue on dark surfaces, Circle plants its authority in an aubergine that doesn't announce itself as purple but reads differently from any neutral.
The DESIGN.md file packages the system into a machine-readable spec for React and AI coding tools. Inside: 16 colors tokens drawn from Circle's palette-bestiary — Licorice (aubergine-dark tier), Jelly (violet accent for gradients), Gumdrop (sky-blue link and accent tier), plus structural whites and hairlines. Thirteen typography tokens run Circularxx across every surface: the hero h1 at 80px/500 with -1.5px tracking, h2 section displays at 51-66px, a 12px/500/uppercase eyebrow style that appears 28 times, and body copy at 14-18px/400. Radius tokens center on 20px for card surfaces and 50px for pill elements. Eighteen components cover the product-grid with tabbed navigation, the stats counter strip, the news-card set, and the CTAs.
Feed this file to Claude or Cursor and it will reproduce Circle's specific moves: periwinkle canvas instead of white, aubergine primary used as both ink and button fill with no separate accent reserved for CTAs, Circularxx at the same geometric weight across every tier, uppercase eyebrows at 12px for category labeling, and the violet-to-cyan gradient orb that floats beside the hero headline. The system's design lesson: when a single color carries every semantic role (text, border, button, selection), the palette achieves coherence through simplicity rather than through careful accent isolation.
What makes it distinct
5 highlights
- Licorice-as-everythingThe aubergine near-black (#29233b) serves simultaneously as primary ink, button fill, button border, and even the browser text-selection background
- Circularxx across every tierThe same rounded geometric sans from 12px uppercase eyebrows to 80px hero h1, with no weight heavier than 700 anywhere above body copy
- Periwinkle canvasThe page background is a pale blue-lavender (#edf1fc from themeColor) rather than pure white, carrying a faint blockchain-native color signal
- Jelly violet gradientThe hero decoration is a 3D-rendered orb in violet-to-cyan gradients using the Jelly (#9f72ff) and Gumdrop (#1894e8) palette families
- UPPERCASE eyebrows at 12pxSmall-caps category labels run Circularxx 12px/500 uppercase with 1.2px letter-spacing, appearing 28 times across the page
Live at circle.com
Circle in production, as captured. Scroll the window to see the whole page.

16 colors
Circle's system runs on #29233b as its primary voltage, used in 14 of 18 components. Type is set in Circularxx across 13 tokens from 12px to 80px, weights 400–700. Shape language is soft — components average 12px corner radius, with no sharp interactive edges.
Brand & Accent
Sparing, CTA-only voltage · 2
Surface
Page and card backgrounds · 3
Text
Headlines, body, captions · 4
Borders & Hairlines
Dividers, outlines, rules · 2
Other
Specialty colors · 5
13 type tokens
Set in Circularxx across 13 tokens, from 12px to 80px, weights 400–700. Shown in its own stack: where the font isn't installed, the fallback the file names stands in.
- display-xl80px · weight 500 · lh 88px · tracking -1.5pxThe quick brown fox jumps over the lazy dog
- display-lg65.6px · weight 500 · lh 72.16px · tracking -1.5pxThe quick brown fox jumps over the lazy dog
- display-md51px · weight 500 · lh 56.1px · tracking -1.5pxThe quick brown fox jumps over the lazy dog
- heading-lg38px · weight 500 · lh 41.8px · tracking -0.5pxThe quick brown fox jumps over the lazy dog
- heading-md28px · weight 700 · lh 30.8px · tracking -0.5pxThe quick brown fox jumps over the lazy dog
- heading-sm24px · weight 400 · lh 31.2px · tracking -0.5pxThe quick brown fox jumps over the lazy dog
- body-lg18px · weight 400 · lh 27pxThe quick brown fox jumps over the lazy dog
- body-md16px · weight 400 · lh 24px · tracking -0.5pxThe quick brown fox jumps over the lazy dog
- body-sm14px · weight 400 · lh 23.3pxThe quick brown fox jumps over the lazy dog
- caption12px · weight 400 · lh 18pxThe quick brown fox jumps over the lazy dog
- eyebrow12px · weight 500 · lh 20.8px · tracking 1.2pxThe quick brown fox jumps over the lazy dog
- button-md16px · weight 700 · lh 16px · tracking -0.64pxThe quick brown fox jumps over the lazy dog
- nav-link16px · weight 500 · lh 18pxThe quick brown fox jumps over the lazy dog
Radii and spacing
7 corner radii and 7 spacing values. Shape language: soft, on a 10px base radius.
Radii7
- none0px
- xs2px
- sm8px
- md10px
- lg20px
- xl50px
- full9999px
Spacing7
- xs4px
- sm8px
- md12px
- base16px
- lg24px
- xl40px
- 2xl96px
18 components
Each rendered from its tokens (color, type, radius, padding) on Circle's own canvas.
- Button PrimaryButton Primarybutton-primary
- Button Primary HoverButton Primary Hoverbutton-primary-hover
- Button SecondaryButton Secondarybutton-secondary
- Top NavTop Navtop-nav
- Nav LinkNav Linknav-link
- Hero HeadingHero Headinghero-heading
- Section HeadingSection Headingsection-heading
- Eyebrow LabelEyebrow Labeleyebrow-label
- Body ParagraphBody Paragraphbody-paragraph
- Body Paragraph MutedBody Paragraph Mutedbody-paragraph-muted
- CardCardcard
- Card ProductCard Productcard-product
- Card DarkCard Darkcard-dark
- Stats NumberStats Numberstats-number
- Tab ActiveTab Activetab-active
- Tab InactiveTab Inactivetab-inactive
- Type here…Text Inputtext-input
- News CardNews Cardnews-card
The system, in use
Circle's tokens on the kind of product it builds.
Money that moves as fast as you do
Send, save and spend with an account built for the way you live and work.
Pick the plan that fits
MonthlyYearly- Free transfers
- Virtual card
- Savings pots
- 1% cashback
- Travel insurance
- Priority support
- 3% cashback
- Lounge access
- Metal card
Circle design system FAQ
Circle's tokens, its components and how to use this DESIGN.md in your project.
What are the color tokens in the Circle DESIGN.md?
What is Circle's primary color hex code?
How do I use Circle's colors in Tailwind CSS?
What is Circle's primary brand color?
What fonts does Circle use?
What is Circle's type scale?
What can I use if I don't have Circle's font?
What typeface does Circle use, and how does weight work?
Which components does the Circle DESIGN.md define?
What corner radius and spacing does Circle use?
How does Circle's product-grid section work?
How do I apply the Circle design system to a shadcn/ui project?
How do I use the Circle DESIGN.md with Claude Code or Cursor?
Is the Circle DESIGN.md free to download?
How was the Circle DESIGN.md made?
Is the Circle DESIGN.md official?
Why is Circle's background a pale blue-lavender rather than white?
Can I use this DESIGN.md to build a fintech platform marketing site in the Circle design system?
Related reading
Specs, directories and component libraries that pair with this design system.
- Browse all design systemsThe full directory of DESIGN.md files on shadcn.io, with live mockups for each.shadcn.io
- Circle — official siteCircle's public marketing site — the source of truth for the live tokens captured in this file.circle.com (opens in a new tab)
- The DESIGN.md specificationGoogle Labs' open spec for machine-readable design system files — the format this page is built on.github.com (opens in a new tab)
Use Circle in your project
One machine-readable file. Drop it into Claude Code, Cursor, VS Code or any AI tool that reads DESIGN.md.
Download the DESIGN.md
One machine-readable file: every color, type, radius, spacing, and component token of Circle.
Feed it to your AI tool
Drop it into Claude, Cursor, or GitHub Copilot. The agent writes React components and Tailwind classes that match Circle's visual language.
Reference the tokens directly
Or paste the values into your Tailwind config, CSS variables, or component library: every color, size and radius is a quoted, ready-to-copy value.
Read the full DESIGN.md overview, rationale, do’s and don’ts
Overview
Circle's marketing site positions a stablecoin infrastructure business through a single unorthodox chromatic decision. Licorice-as-everything: the same aubergine near-black (#29233b, named "Licorice 700" in Circle's CSS palette) serves as body text, button background, button border, and even the browser text-selection highlight color. There is no CTA accent set aside in a separate hue — the primary action is the brand color, which is also the text color. Where Stripe wires indigo into a voltage that appears selectively against white backgrounds, and where most fintech brands hold a blue or green for action-state differentiation, Circle collapses the distinction. The button and the paragraph are one color family.
The page's background resists neutrality. The themeColor meta tag declares #edf1fc — a pale periwinkle — and the section backgrounds cluster in the blue-violet family (near-white surfaces tinted with Jelly violet or Gumdrop blue). The hero carries a 3D-rendered orb in violet-to-cyan gradient alongside the headline "Don't watch the shift. Lead it." — the decoration is chromatic, the surrounding page is structured and restrained. Below the fold, the product grid shows 12 product tiles, each with a small icon and a product name, demonstrating USDC, EURC, the Payments Network, and nine other services on a single scrollable page without a tabbed sub-navigation.
Uppercase everywhere, once: the eyebrow label system is unusually active. The 12px/500/uppercase Circularxx style with 1.2px letter-spacing appears 28 times across the page — every section opens with a category label before its display heading. This regularity disciplines the scroll rhythm.
Key Characteristics:
- Aubergine primary (#29233b — 921 occurrences: 460 text, 455 border, 6 background) carries every structural role simultaneously.
- Circularxx rounded geometric sans across every tier from 12px eyebrow to 80px hero — no second family, no serif, no mono.
- 12px/500/uppercase eyebrow labels with 1.2px tracking appear 28 times, disciplining every section's entry point.
- Jelly violet (#8656ef — 67 occurrences) appears in the hero orb gradient, borders, and decorative accent text; it is the secondary chromatic voice.
- Blue Gumdrop (#0073c3 — 54 occurrences) handles active tab states, link text, and the statistics counter numbers ("185+ countries," "83.8T of on-chain TX").
- Pale periwinkle surface backgrounds in the Licorice-50 (#f6f2ff) and Gumdrop-75 (#d9efff) families — the page is never pure white.
- 20px card radius dominant (22 occurrences); 10px for form elements; 50px for pill-style elements.
Colors
Brand
- Primary (Licorice) (
{colors.primary}— #29233b): frequency 921. Text (460), border (455), background (6). The brand voltage that simultaneously serves ink, button fill, and selection background. Wired as--colors-all--primary,--colors--licorice--700,--_buttons---background,--_buttons---border,--wb-primary-color. - Primary Hover (
{colors.primary-hover}— #4e4763): frequency 0 rendered, declared as--_buttons---background-hoverand--_buttons---border-hover. The lightened aubergine on button hover. - Secondary (Gumdrop Blue) (
{colors.secondary}— #1894e8): frequency 16. Text (6), border (6), gradient (4). Wired as--wb-secondary-colorand--colors--gumdrop--400. The hover-state blue and the 3D orb gradient fill. - Jelly Violet (
{colors.jelly-violet}— #8656ef): frequency 67. Text (33), border (33), background (1). The secondary accent for decorative gradient surfaces and accent borders. Wired as--colors--jelly--400. - Jelly Mid (
{colors.jelly-mid}— #9f72ff): frequency 6, primarily gradient (4). Wired as--colors--jelly--300. Lighter violet for gradient mid-stops. - Jelly Light (
{colors.jelly-light}— #b090f5): frequency 4, all gradient. Wired as--colors--jelly--200. The pale violet gradient end-stop. - Gumdrop Blue (
{colors.gumdrop-blue}— #0073c3): frequency 54. Text (22), background (4), border (28). The active-tab fill, stat counter numbers, and link text accent. Wired as--colors--stable-blue--500and--colors--gumdrop--500.
Surface
- Canvas (
{colors.canvas}— #ffffff): frequency 313. Text (152), background (14), border (144), gradient (3). The base page floor for cards and content zones. - Surface-1 (
{colors.surface-1}— #f6f2ff): frequency 15. Background (8), gradient (3). The pale violet section band — Jelly-50 tone. Wired as--colors--jelly--50and--colors--licorice--50. - Surface-2 (
{colors.surface-2}— #d9efff): frequency 12. Background (6), border (6). The pale blue section band — Gumdrop-75 and Icee-75 tones. Also the declared--colors--website--bg.
Text / Hairline
- Ink Muted (
{colors.ink-muted}— #a7a3b5): frequency 108. Text (54), border (54). Secondary text and dividers. Wired as--colors--licorice--200. - Ink Dark (
{colors.ink-dark}— #3d3652): frequency 6, text (3) and border (3). Darker secondary text within card surfaces. Wired as--colors--licorice--600. - Ink Faint (
{colors.ink-faint}— #6b6580): frequency 2. Tertiary label text. Wired as--colors--licorice--400. - Hairline (
{colors.hairline}— #e1dfe8): frequency 25. Text (12), border (13). Card outlines and section dividers. Wired as--colors--licorice--75.
Typography
Font Family
The system runs Circularxx — Lineto's licensed rounded geometric sans — across every surface. There is no second family. Body, button, nav, eyebrow, and display all share the same geometric proportions; hierarchy comes from size, weight, letter-spacing, and text-transform, not from typeface contrast. The declared CSS variables reference Circularxx with a sans-serif fallback.
Hierarchy
| Token | Size | Weight | Line Height | Letter Spacing | Use |
|---|---|---|---|---|---|
{typography.display-xl} | 80px | 500 | 88px | -1.5px | Hero h1 — "Don't watch the shift. Lead it." |
{typography.display-lg} | 65.6px | 500 | 72.16px | -1.5px | Section display alternate |
{typography.display-md} | 51px | 500 | 56.1px | -1.5px | Section h2 ("Current" insight cards), stat labels |
{typography.heading-lg} | 38px | 500 | 41.8px | -0.5px | Sub-section headings |
{typography.heading-md} | 28px | 700 | 30.8px | -0.5px | h3 product-tile heading — the one weight-700 display tier |
{typography.heading-sm} | 24px | 400 | 31.2px | -0.5px | Section intros and card lead text |
{typography.body-lg} | 18px | 400 | 27px | 0 | Hero sub-paragraph and section body |
{typography.body-md} | 16px | 400 | 24px | -0.5px | Default running text |
{typography.body-sm} | 14px | 400 | 23.3px | 0 | Nav and secondary body |
{typography.caption} | 12px | 400 | 18px | 0 | Legal fine print and metadata |
{typography.eyebrow} | 12px | 500 | 20.8px | 1.2px | UPPERCASE category labels — appears 28 times |
{typography.button-md} | 16px | 700 | 16px | -0.64px | CTA button labels |
{typography.nav-link} | 16px | 500 | 18px | 0 | Top-nav link labels |
Principles
The display tier is weight-500 through 80px — not the weight-300 confidence of Stripe or the weight-700 authority of most fintech buttons. The eyebrow treatment (12px/500/uppercase/1.2px tracking) is the system's most active typographic signal: it appears before every section heading, creating a consistent entry cadence. The 28 occurrences make this the dominant label strategy rather than an occasional accent. One notable exception: the h3 product-tile heading at 28px breaks to weight 700 — the only display-size element in the system that reaches heavier than 500.
Note on Font Substitutes
Circularxx is a licensed Lineto font. The closest open-source substitute is Nunito at equivalent weights — the rounded apertures transfer cleanly at display sizes. Outfit is slightly tighter and works better for the 14-16px body tiers. For teams that want the uppercase eyebrow treatment with a free font, Plus Jakarta Sans at weight 600 with letter-spacing: 0.1em; text-transform: uppercase approximates the visual effect.
Layout
Spacing System
- Base unit: 4px (appearing 46 times, the most frequent gap value).
- Tokens:
{spacing.xs}4px ·{spacing.sm}8px ·{spacing.md}12px ·{spacing.base}16px ·{spacing.lg}24px ·{spacing.xl}40px ·{spacing.2xl}96px. - Section padding (vertical): 96px top/bottom on the hero band. Below-fold sections use 64px or 48px between major blocks.
- Card internal padding: 24px for editorial and news cards; 16px for compact product tiles.
- Container max-width: declared as
--spacing-layout--container-max-width: 1110px.
Grid & Container
- Hero: white or pale-tinted full-width band at 1110px max content width. Headline left-aligned with the 3D orb floating right.
- Product grid: 3-column tile grid for the 12 product entries (USDC, EURC, USYC, Circle Payments Network, Mint, StablePay, Arc, Wallets, Contracts, CCTP, eReserve, Gateway, Paymaster). Cards use 20px radius with 16px internal padding.
- Insight panel ("Current"): a full-width card carrying a brand logo, description, and read-more link — a featured partner case-study format.
- Stats strip: "185+ countries · 83.8T of on-chain TX · 55 issuer regions" — three numbers in Gumdrop blue display text.
Rhythm
The page alternates between a sparse editorial mode (large display heading + short dek + one CTA) and a dense grid mode (the 12-product tile grid, the news-card strip). Neither mode holds for more than two sections before switching. This prevents the long-scroll monotony common in infrastructure platforms.
Elevation
Circle uses a light shadow vocabulary. The declared shadows are rgba(0,0,0,0.08-0.10) neutrals without tinting. Cards on the page use hairline borders rather than shadows as the primary elevation signal.
- Flat: hero and editorial sections — no shadow.
- Hairline-border cards: the product tiles and news cards use 1px
{colors.hairline}borders with 20px radius, no shadow. Elevation comes from background contrast (white card on pale-tinted surface). - Search widget: the deployed AI search widget (Webless) carries
box-shadow: 2px 4px 62px 12px rgba(0,0,0,0.1)— the only hard shadow on the page.
Shapes
The radius scale is medium-generous with a pill option:
{rounded.xs}2px — minimal, for fine-rule elements (24 occurrences).{rounded.sm}8px — the button radius (11 occurrences); also the declared--component-button--border-radius: 8pxand search-input radius.{rounded.md}10px — intermediate UI surfaces and tab elements (19 occurrences).{rounded.lg}20px — the dominant card radius (22 occurrences). The declared--component-card--border-radius: 20px. Content cards, product tiles, insight panels.{rounded.xl}50px — pill CTAs and nav search bar (5 occurrences).{rounded.full}9999px — avatar circles and flag thumbnails (50% radius in CSS, rendered as full circle).
Components
button-primary — Aubergine {colors.primary} fill, white text, Circularxx 700 at 16px / -0.64px tracking, 8px radius, 12.5×20px padding, 44px height. The declared CSS sets --component-button--horizontal-padding: 20px and --component-button--vertical-padding: 12.5px.
button-primary-hover — Slightly lighter aubergine {colors.primary-hover} (#4e4763), same dimensions.
button-secondary — Transparent fill, aubergine text, 1px aubergine border, 8px radius. The outline variant used for secondary CTAs ("Learn more").
top-nav — White canvas, 60px height. Circle logo mark flush left, nav links center (Home, Solutions, Transparency, Developers, Resources, About), search + "Talk to sales" CTA flush right. Nav uses 16px/500 Circularxx.
nav-link — Aubergine text, 16px/500, 0×12px padding, 32px height.
hero-heading — Aubergine text, Circularxx 80px/500, -1.5px tracking. "Don't watch the shift. Lead it." in 2 lines.
section-heading — Aubergine text at {typography.display-md} (51px/500). Section h2 labels like "Current" and "Operating responsibly at global scale."
eyebrow-label — 12px/500 uppercase with 1.2px letter-spacing, aubergine text. The section-entry label that appears 28 times — always the first element inside a section, in all-caps, before the display heading.
body-paragraph — Aubergine text at {typography.body-lg} (18px/400). Section leads and card descriptions.
body-paragraph-muted — Ink-muted (#a7a3b5) text at {typography.caption} (12px/400). Legal fine print and metadata captions.
card — White fill, 1px hairline border, 20px radius, 24px padding. The default editorial and news card.
card-product — White fill, 1px hairline border, 20px radius, 16px padding. The compact tile for the 12-product grid. Holds icon + product name in 18px/700 + 2-line description.
card-dark — Aubergine fill, white text, 20px radius, 24px padding. The "Build with Circle" CTA panel — the single instance of the brand color as a card background.
stats-number — Gumdrop blue text at {typography.display-md} (51px/500). The three impact metrics in the stats strip.
tab-active — Gumdrop blue fill, white text, 10px radius. The selected product category tab in the open-economy grid.
tab-inactive — Transparent, aubergine text, hairline border, 10px radius. The unselected state.
text-input — White fill, aubergine text, 8px radius, 10.25×12px padding. The email field in the footer newsletter strip.
news-card — White fill, hairline border, 20px radius, 16px padding. News article cards in the "shaping what comes next" section.
Do's and Don'ts
Do use the aubergine (#29233b) for both body text and button fills. The system's coherence comes from this single color carrying every role; introducing a separate button accent would create a competing voltage that the page doesn't support.
Do open every section with a 12px/500/uppercase eyebrow label before the display heading. The 28-occurrence regularity is a deliberate rhythm device; skipping the eyebrow makes sections feel like they start in the middle of a thought.
Do tint section backgrounds with the pale Jelly (#f6f2ff) or pale Gumdrop (#d9efff) variants rather than leaving sections on pure white. The periwinkle undertone across surfaces is the canvas identity; reverting to neutral white breaks the chromatic coherence.
Do reserve Gumdrop blue (#0073c3) for data-emphasis elements — stat counters, active tabs, link text. It appears in 54 occurrences, all carrying an action-state or data-emphasis signal.
Don't use the Jelly violet (#8656ef) for primary actions. The 67 occurrences are all text and border accents or gradient decoration — never a button fill. Using it as a CTA background introduces a third chromatic voice the system cannot support.
Don't set display headings above weight 500. The hero at 80px/500 is the loudest typographic moment; bumping to 700 makes the heading read as aggressive rather than confident. Weight 700 appears only at 28px card titles.
Don't use the aubergine border color (#29233b) for hairline dividers. It has 455 border occurrences but these are all for interactive elements (buttons, tab outlines, nav items). For card borders and dividers, use {colors.hairline} (#e1dfe8).
Don't introduce a pure-black canvas or a dark-mode section. The system's identity is light-surface with aubergine ink — the only dark-background element is the {component.card-dark} panel in the CTA section, which uses the aubergine as a fill rather than a neutral black.
Known Gaps
- Hover and focus states: documented for
{component.button-primary-hover}only. The full state matrix (focus rings, disabled opacity, active press) is not captured from the marketing surface. - 3D orb animation: the hero decoration is a Spline or WebGL-rendered 3D orb that rotates slowly. The end-state texture is visible in the screenshot; easing, rotation rate, and parallax depth are not captured as tokens.
- Dark mode: no dark-mode media query is declared in the extracted CSS. The product dashboard (Circle's internal tooling) may carry a dark-mode system; it is not represented here.
- Mobile nav: the captured desktop surface shows the full nav; mobile hamburger states and the sliding drawer are not captured.
- Richer Jelly and Gumdrop sub-palettes: the CSS declares 7 Jelly tones (50-500) and 5 Gumdrop tones (50-500), but the captured page uses only 3-4 of each. The full palette families are available for product-surface use not captured here.
- USDC-specific branding: the USDC product tile and the on-chain TX statistics use a distinct blue treatment; a dedicated USDC sub-brand system likely exists but is not separated in the extracted tokens.
More systems like this
Afterpay, Barclays, Betterment and 38 more in Fintech & Crypto: each brand's colors, type and components in one file your AI agent builds from.
Build it with Pro
The DESIGN.md files are free. Pro adds 6,000+ blocks, premium templates and the MCP server, so your AI editor builds in your system for you.
4.9/5 out of 5 · 150+ reviewsfrom 150+ founders and developers.
Billing
Billed once a year in USD. Cancel anytime.
- How many people can use the license.
- Client work, SaaS products and anything you charge for.
- Page sections in 56 categories, from heroes and pricing tables to dashboards and settings, on every framework and UI library, in your theme.
- Complete Next.js sites for startups, SaaS, agencies and portfolios, every page designed, ready to ship.
- Your AI agent searches, previews and installs any component, block, icon or DESIGN.md from a prompt: 22 tools in Claude Code, Cursor, VS Code and 35 more clients.
- Buttons with motion and states of their own, from an arrow that slides in to a burst of confetti.
- Typewriters, scrambles, counters and more, for headlines, labels and numbers.
- Animated backgrounds for heroes, sections and cards, from a soft aurora to a flock that flees the cursor. Most are pure CSS.
- WebGPU shaders, from a slow aurora to a black hole, each drawing only while it's on screen.
- One design and one theme on all four: the components, blocks and effects are built for each framework.
- React on Base UI, Radix UI, React Aria or Ark UI: install the version for the library your project already uses. Vue, Svelte and Solid run on Ark UI.
- From a button to a date picker, a color picker or a guided tour: accessible, typed in TypeScript, each with live demos.
- Real-world patterns built from the components, in 53 galleries: forms, tables, menus, dialogs and more.
- Area, bar, line, pie, radar and radial charts on TanStack Charts, on every framework. React also gets the Recharts originals.
- Debounce, local storage, media queries and more: each hook is one typed file you own.
- From 222 libraries, Lucide, Heroicons, Tabler and Material Symbols among them, as SVG or a React component in one command.
- Stripe, Linear, Apple and 497 more: a brand's colors, typography and components in one file your AI agent builds from.
- Restyle every component and block at once: 8 styles, 7 grays, 18 colors and 5 radii, shared as a shadcn preset code.
- Priority requests are answered first.
Individual
For personal projects & open source
$32instead of $49/mo
$389 billed yearly
- Seats: 1 seat
- Commercial use: Personal & open source only
- Blocks: All 6,181 blocks
- Templates: All 14 templates
- MCP server: 38 AI clients
- Animated buttons: All 35 buttons
- Text effects: All 97 effects
- Backgrounds: All 100 backgrounds
- Shaders: All 100 shaders
- Frameworks: React, Vue, Svelte, Solid
- UI libraries: Base UI, Radix, Aria, Ark
- Components: All 174 components
- Examples: All 1,103 examples
- Charts: All 70 charts
- React hooks: All 35 hooks
- Icons: 294k+ icons
- DESIGN.md files: All 500 brands
- Theme builder: 8 styles × 18 colors
- Support: Standard
Team
Most popularFor freelancers, agencies & startups
$66instead of $99/mo
$789 billed yearly · ≈ $13/dev/mo
- Seats: Up to 5 seats
- Commercial use: Included
- Blocks: All 6,181 blocks
- Templates: All 14 templates
- MCP server: 38 AI clients
- Animated buttons: All 35 buttons
- Text effects: All 97 effects
- Backgrounds: All 100 backgrounds
- Shaders: All 100 shaders
- Frameworks: React, Vue, Svelte, Solid
- UI libraries: Base UI, Radix, Aria, Ark
- Components: All 174 components
- Examples: All 1,103 examples
- Charts: All 70 charts
- React hooks: All 35 hooks
- Icons: 294k+ icons
- DESIGN.md files: All 500 brands
- Theme builder: 8 styles × 18 colors
- Support: Priority
Organization
For companies with larger teams
$132instead of $199/mo
$1,589 billed yearly
- Seats: Unlimited seats
- Commercial use: Included
- Blocks: All 6,181 blocks
- Templates: All 14 templates
- MCP server: 38 AI clients
- Animated buttons: All 35 buttons
- Text effects: All 97 effects
- Backgrounds: All 100 backgrounds
- Shaders: All 100 shaders
- Frameworks: React, Vue, Svelte, Solid
- UI libraries: Base UI, Radix, Aria, Ark
- Components: All 174 components
- Examples: All 1,103 examples
- Charts: All 70 charts
- React hooks: All 35 hooks
- Icons: 294k+ icons
- DESIGN.md files: All 500 brands
- Theme builder: 8 styles × 18 colors
- Support: Priority
Billed once a year in USD. Cancel anytime.
Individual
For personal projects & open source
$32instead of $49/mo
$389 billed yearly
- How many people can use the license.Seats: 1 seat
- Client work, SaaS products and anything you charge for.Commercial use: Personal & open source only
- Page sections in 56 categories, from heroes and pricing tables to dashboards and settings, on every framework and UI library, in your theme.Blocks: All 6,181 blocks
- Complete Next.js sites for startups, SaaS, agencies and portfolios, every page designed, ready to ship.Templates: All 14 templates
- Your AI agent searches, previews and installs any component, block, icon or DESIGN.md from a prompt: 22 tools in Claude Code, Cursor, VS Code and 35 more clients.MCP server: 38 AI clients
- Buttons with motion and states of their own, from an arrow that slides in to a burst of confetti.Animated buttons: All 35 buttons
- Typewriters, scrambles, counters and more, for headlines, labels and numbers.Text effects: All 97 effects
- Animated backgrounds for heroes, sections and cards, from a soft aurora to a flock that flees the cursor. Most are pure CSS.Backgrounds: All 100 backgrounds
- WebGPU shaders, from a slow aurora to a black hole, each drawing only while it's on screen.Shaders: All 100 shaders
- One design and one theme on all four: the components, blocks and effects are built for each framework.Frameworks: React, Vue, Svelte, Solid
- React on Base UI, Radix UI, React Aria or Ark UI: install the version for the library your project already uses. Vue, Svelte and Solid run on Ark UI.UI libraries: Base UI, Radix, Aria, Ark
- From a button to a date picker, a color picker or a guided tour: accessible, typed in TypeScript, each with live demos.Components: All 174 components
- Real-world patterns built from the components, in 53 galleries: forms, tables, menus, dialogs and more.Examples: All 1,103 examples
- Area, bar, line, pie, radar and radial charts on TanStack Charts, on every framework. React also gets the Recharts originals.Charts: All 70 charts
- Debounce, local storage, media queries and more: each hook is one typed file you own.React hooks: All 35 hooks
- From 222 libraries, Lucide, Heroicons, Tabler and Material Symbols among them, as SVG or a React component in one command.Icons: 294k+ icons
- Stripe, Linear, Apple and 497 more: a brand's colors, typography and components in one file your AI agent builds from.DESIGN.md files: All 500 brands
- Restyle every component and block at once: 8 styles, 7 grays, 18 colors and 5 radii, shared as a shadcn preset code.Theme builder: 8 styles × 18 colors
- Priority requests are answered first.Support: Standard
Team
Most popularFor freelancers, agencies & startups
$66instead of $99/mo
$789 billed yearly · ≈ $13/dev/mo
Everything in Individual, plus
- How many people can use the license.Seats: Up to 5 seats
- Client work, SaaS products and anything you charge for.Commercial use: Included
- Priority requests are answered first.Support: Priority
Organization
For companies with larger teams
$132instead of $199/mo
$1,589 billed yearly
Everything in Team, plus
- How many people can use the license.Seats: Unlimited seats
- Secure checkout via Stripe
- Code lives in your repo
- Keep what you've shipped if you cancel
- License terms
4.9 out of 5 from 150+ developers
Your system, built for you
Every block, template and icon, installed by your AI agent in your design system. The DESIGN.md files stay free.
- Cancel anytime
- Keep what you've shipped