A grid system in design is like a framework for a house. It brings order, consistency, and efficiency to the layout, helping organize content, align elements, and maintain a professional look. It's the invisible structure that makes a design visually appealing and easy to navigate.
Grid should be established before high fidelity design has been articulated.

Container
The container represents the area the grid is being applied to.

Columns
Depending on viewport size, a layout will either use twelve or six equally sized columns.

Gutters
Gutter sizes vary based on breakpoint and use our four-pixel spacing increment.

Margins
In fluid layouts, outer margins are fixed in width, also using our four-pixel spacing increment.

Fluid Layout
Columns are fluid in width as the page container extends across the viewport.

Fixed Layout
The page container is fixed width and, most often, centered within the viewport.
Most often, a grid is applied to an entire page. However, in some cases it can be limited to a larger subsection. For example, if fixed-width navigation exists within a fluid layout.
Grids shouldn't be applied in a piecemeal fashion. Smaller page sections or regions should rely on basic position spacing mechanisms for layout.

Omitting the sidebar from this grid allows the panel to remain fixed while the rest of the page scales with the viewport.
| Name | Layout Type | Recommended Range | Columns | Gutter | Margin |
|---|---|---|---|---|---|
| Tight | Fluid | < 420px | 6 | 16px | 16px |
| Compact | Fluid | 420px - 767px | 6 | 16px | 24px |
| Medium | Fluid | 768px - 1023px | 6 | 24px | 40px |
| Wide | Fluid | 1024px - 1199px | 12 | 24px | 40px |
| Extended | Fluid | 1200px - 1439px | 12 | 32px | 72px |
| Jumbo | Fluid | ≥ 1440px | 12 | 36px | 96px |
| Jumbo, fixed | Fixed | ≥ 1440px | 12 | 32px | Auto |

Breakpoints represent opportunities to alter the design at specific viewport widths.
| Viewport Classification | Media Query / Min. Width | Max. Width |
|---|---|---|
| XS, Mobile | none | 419px |
| S, Mobile | 420px | 767px |
| M, Tablet | 768px | 1023px |
| L, Tablet | 1024px | 1199px |
| XL, Desktop | 1200px | 1439px |
| XXL, Desktop | 1440px | none |
When pressure testing a design, consider breakpoints for varying browser widths. Test both the minimum and maximum widths within each viewport range for optimal results.
Applying meaningful and scalable margin, padding, and border radius values will create visual consistency and rhythm throughout an experience. Our four-pixel spacing increment ensures spacing between and within elements remains consistent and scalable.

Absolute spacing values must align to our base four pixel scale.
Figma Token (Space) |
px value | theme.spacing() |
|---|---|---|
4 |
4px | theme.spacing(0.5) |
8 |
8px | theme.spacing(1) |
12 |
12px | theme.spacing(1.5) |
16 |
16px | theme.spacing(2) |
20 |
20px | theme.spacing(2.5) |
24 |
24px | theme.spacing(3) |
28 |
28px | theme.spacing(3.5) |
32 |
32px | theme.spacing(4) |
36 |
36px | theme.spacing(4.5) |
40 |
40px | theme.spacing(5) |
48 |
48px | theme.spacing(6) |
56 |
56px | theme.spacing(7) |
64 |
64px | theme.spacing(8) |