Border Radius

Six steps from subtle to full. Radius is a density signal — tighter corners feel more utilitarian, rounder corners feel more approachable.

Scale

Small6px
borderRadius.sm

Badges, tags, kbd elements

Medium10px
borderRadius.md

Buttons, inputs, small cards

Large14px
borderRadius.lg

Cards, panels, modals

Extra Large20px
borderRadius.xl

Feature cards, image containers

2x Large28px
borderRadius.2xl

Hero sections, large surfaces

Full9999px
borderRadius.full

Pills, avatars, circular buttons

Token Reference

TokenValueTailwindUse case
borderRadius.sm6pxrounded-mdBadges, tags, kbd elements
borderRadius.md10pxrounded-[10px]Buttons, inputs, small cards
borderRadius.lg14pxrounded-[14px]Cards, panels, modals
borderRadius.xl20pxrounded-[20px]Feature cards, image containers
borderRadius.2xl28pxrounded-[28px]Hero sections, large surfaces
borderRadius.full9999pxrounded-fullPills, avatars, circular buttons

Elements in use

Each radius maps to a specific family of elements. Mixing radii inside a component signals inconsistency — use the same step for all controls in a group.

ActiveBetaNew

Badge · sm · 6px

Button · md · 10px

name@company.com

Input · md · 10px

Card · lg · 14px

Feature card · xl · 20px

JRASMK

Avatar · full · pill

Principles

Match scale to size

Larger elements use larger radii. A modal at 14px feels right; that same radius on a badge feels too round. Let the element's footprint guide the choice.

Consistency within context

All interactive controls in a form — inputs, selects, buttons — should share the same radius. Inconsistency within a group signals a mistake, not variation.

Full is for circles

borderRadius.full is for elements where height equals width, or for pill-shaped labels. Applying it to a wide button creates an awkward stadium shape.