Skip to main content
U.S. flag

An official website of the United States government

Dot gov

The .gov means it’s official.
Federal government websites often end in .gov or .mil. Before sharing sensitive information, make sure you’re on a federal government site.

Https

The site is secure.
The https:// ensures that you are connecting to the official website and that any information you provide is encrypted and transmitted securely.

Latest release: Component Library: v56.7.0 released on Jul 1, 2026 | Guidance: Sprint 3 released on Jul 13, 2026 | Figma: Changelog

Foundation

Spacing units

Spacing units are based on multiples of 8 to maintain a consistent rhythm when applied to margins, padding, and other dimensions.

Why multiples of 8?

The number 8 is easily broken down into smaller measurements before it approaches sub-pixel units. Additionally, many popular screen sizes are also divisible by 8.

Spacing tokens

The VA follows the USWDS spacing unit tokens and then adds additional semantic tokens.

Primitive

Token Value Notes vads-spacing-neg-15 -120px units-neg-15 namespaced for VADS. vads-spacing-neg-10 -80px units-neg-10 namespaced for VADS. vads-spacing-neg-9 -72px units-neg-9 namespaced for VADS. vads-spacing-neg-8 -64px units-neg-8 namespaced for VADS. vads-spacing-neg-7 -56px units-neg-7 namespaced for VADS. vads-spacing-neg-6 -48px units-neg-6 namespaced for VADS. vads-spacing-neg-5 -40px units-neg-5 namespaced for VADS. vads-spacing-neg-4 -32px units-neg-4 namespaced for VADS. vads-spacing-neg-3 -24px units-neg-3 namespaced for VADS. vads-spacing-neg-2p5 -20px units-neg-2p5 namespaced for VADS. vads-spacing-neg-2 -16px units-neg-2 namespaced for VADS. vads-spacing-neg-1p5 -12px units-neg-1p5 namespaced for VADS. vads-spacing-neg-1 -8px units-neg-1 namespaced for VADS. vads-spacing-neg-0p5 -4px units-neg-0p5 namespaced for VADS. vads-spacing-neg-2px -2px units-neg-0p25 namespaced for VADS. vads-spacing-neg-1px -1px units-neg-1px namespaced for VADS. vads-spacing-0 0
uswds-system-spacing-special-0
units-0 namespaced for VADS.
vads-spacing-1px 1px
uswds-system-spacing-1px
units-1px namespaced for VADS.
vads-spacing-2px 2px
uswds-system-spacing-2px
units-0p25 namespaced for VADS.
vads-spacing-0p5 4px
uswds-system-spacing-05
units-0p5 namespaced for VADS.
vads-spacing-1 8px
uswds-system-spacing-1
units-1 namespaced for VADS.
vads-spacing-1p5 12px
uswds-system-spacing-105
units-1p5 namespaced for VADS.
vads-spacing-2 16px
uswds-system-spacing-2
units-2 namespaced for VADS.
vads-spacing-2p5 20px
uswds-system-spacing-205
units-2p5 namespaced for VADS.
vads-spacing-3 24px
uswds-system-spacing-3
units-3 namespaced for VADS.
vads-spacing-4 32px
uswds-system-spacing-4
units-4 namespaced for VADS.
vads-spacing-5 40px
uswds-system-spacing-5
units-5 namespaced for VADS.
vads-spacing-6 48px
uswds-system-spacing-6
units-6 namespaced for VADS.
vads-spacing-7 56px
uswds-system-spacing-7
units-7 namespaced for VADS.
vads-spacing-8 64px
uswds-system-spacing-8
units-8 namespaced for VADS.
vads-spacing-9 72px
uswds-system-spacing-9
units-9 namespaced for VADS.
vads-spacing-10 80px
uswds-system-spacing-10
units-10 namespaced for VADS.
vads-spacing-15 120px
uswds-system-spacing-15
units-15 namespaced for VADS.

Semantic

Token Value Notes vads-spacing-inset-s 16px
vads-spacing-2
Small spacing within an item (internal padding).
vads-spacing-vertical-stack-default 16px
vads-spacing-vertical-stack-s
Default spacing between vertically stacked items.
vads-spacing-vertical-stack-s 16px
vads-spacing-2
Small spacing between items in a stack.
vads-spacing-inset-m 24px
vads-spacing-3
Medium spacing within an item (internal padding).
vads-spacing-vertical-stack-m 24px
vads-spacing-3
Medium spacing between items in a stack.
vads-forms-spacing-vertical-stack-default 32px
vads-spacing-vertical-stack-l
Default spacing between form fields. For non-form stacks, use vads-spacing-vertical-stack-default.
vads-spacing-inset-l 32px
vads-spacing-4
Large spacing within an item (internal padding).
vads-spacing-vertical-stack-l 32px
vads-spacing-4
Large spacing between items in a stack.

Layout

Token Value Notes vads-site-margins-mobile-width 16px
uswds-system-spacing-2
Standard margins width for mobile (default) breakpoint.
vads-site-margins-width 32px
uswds-system-spacing-4
Standard site margin width at and above vads-site-margins-breakpoint.
vads-grid-container-max-width 1024px
vads-breakpoint-desktop
Maximum width of the centered page grid container.
vads-site-margins-breakpoint 1024px
vads-breakpoint-desktop
Breakpoint for site margins to switch.

Using the spacing units

Use spacing unit tokens to keep spacing consistent throughout VA.gov. Tokens are the preferred approach for all margins, padding, and other spacing dimensions.

When you need a custom value outside the token system, use relative units (rem or em) for layout spacing such as margins, padding, and gaps. While pixels scale with page zoom, they don’t respond to user-set default font sizes in browser settings. Using relative units for layout spacing ensures your design adapts to user preferences, which is required for WCAG 2.2 AA SC 1.4.4 Resize Text. Pixels are still appropriate for non-scaling details like borders and box shadows.

In order to access the unit tokens in your project, you will need to import the variables file into your project. Here is how this site is doing that.

There are two ways of using the spacing tokens in your code.

Use units() to output spacing in rem. This is the recommended approach because rem units scale with user font size preferences and support accessible text resizing.

.foo {
  margin: units(5);
  padding: units(2.5);
}

will compile to:

.foo {
  margin: 4rem;
  padding: 2rem;
}

Output CSS as PX units

Use units-px() only when a pixel value is specifically required, such as for borders or box shadows that shouldn’t scale with text size. For margins, padding, and font sizes, prefer units() to support accessible text resizing.

.foo {
  margin: units-px(5);
  padding: units-px(2.5);
}

will compile to:

.foo {
  margin: 40px;
  padding: 20px;
}
Edit this page in GitHub (Permissions required)
Last updated: Jun 26, 2026