Border Radius

Radius scales with element size. Smaller elements get tighter corners; larger elements get softer ones. This page lists the available tokens, explains how to pick the right one, and covers how to handle nested rounded containers.

#

xs2pxElements 8px tall and smaller
sm4pxElements around 16px tall
md6pxElements around 20px tall
lg8pxElements around 24px tall
xl10pxElements around 40px tall
2xl12pxElements 64px tall and larger
3xl16pxDecorative — for surfaces that need more rounding than 2xl
4xl20pxDecorative — for large surfaces or cards with extra rounding
5xl24pxDecorative — for hero surfaces or prominent containers
full9999pxPills and circles

#

Pick a radius based on the height of the element. As the element gets taller, the radius increases to keep corners proportional.

Element height
Token
8px and below
xs
16px
sm
20px
md
24px
lg
40px
xl
64px and above
2xl

Tokens above 2xl (3xl, 4xl, 5xl) are not tied to a specific element height. Use them when you deliberately want a softer, more rounded look on larger decorative surfaces.

#

When nesting rounded elements, use this formula:

Outer radius = Inner radius + Padding

This keeps the inner and outer curves concentric. If you skip the math and reuse the same token for both, the gap between curves will look uneven — wider on the sides, pinched at the corners.

Correct

Inner lg (8px) + padding p={1} (4px) = outer 2xl (12px)

Incorrect

Same 2xl on both creates an uneven gap — corners pinch while sides bulge

Another example

Inner lg (8px) + padding p={2} (8px) = outer 3xl (16px)

On this page

  • Tokens
  • Choosing the right radius
  • Nesting border radii