Design system breakdown
Shopify — Merchant-first design system shipping a real product surface.

Fit guidance has no recorded field-level check date. Readiness audit: 2026-09-04; 1 of 5 signals unknown, 1 source-linked.
Polaris launched in 2017 to unify the merchant-facing surfaces of Shopify Admin. It has matured through multiple major versions while remaining unusually grounded in the realities of merchant workflows — long forms, complex tables, error recovery, asynchronous bulk operations.
Centralized core team owns the canonical components and tokens; product teams contribute through a public contribution model. Token decisions go through internal RFCs; component changes ship behind versioning with deprecation periods.
The identity-bearing decisions, rendered. Names and values are illustrative — refer to the system’s official tokens reference for the canonical, current set.
color-bg-surface
Page surface
color-text
Default body text
color-text-critical
Destructive emphasis
space-400
Default control padding
shadow-200
Card elevation
border-radius-200
Card and input radius
The full picture — palette, type ramp, spacing grid, radius, elevation and motion, restated in our own structure from Polaris’s public references. Factual values for study; the official docs remain canonical.
Editable editorial reference. 0/89 fields have an explicit source and 0 have a recorded check date. Context sources are not proof of every value; verify current values with the maintainer before implementation.
Inspect every field and its evidence (JSON)Surface
Page surface
--p-color-bg-surface
Background App
App background behind surfaces
--p-color-bg
Text
Default body text
--p-color-text
Text Secondary
Secondary text
--p-color-text-secondary
Interactive / Link
Links and interactive text
--p-color-text-link
Primary Button
Primary action fill (v12 dark button)
--p-color-bg-fill-brand
Critical
Destructive emphasis
--p-color-text-critical
Success
Positive states
--p-color-text-success
Border
Hairlines and input borders
--p-color-border
Inter, -apple-system, 'San Francisco', 'Segoe UI', Roboto, sans-serif
Weights: 400, 450, 550, 650
ui-monospace, SFMono-Regular, Menlo, monospace
Weights: 400
Base unit 4px
Shadow 200
Shadow 300
Exactly what ships in polaris-design.md — plus the same token snapshot restated as CSS custom properties. Copy either, or feed the Markdown straight to an AI coding tool as styling context.
Restated from polaris.shopify.com and Shopify/polaris-react-archive, links last checked 2026-09-03. The file lists its sources and method in a provenance block at the top.
# Polaris — Design Style Reference
```yaml
# How this file was made. Sources are first-party; nothing here is
# read from a rendered page. Full breakdown at source_page below.
method: restated-from-official-tokens-package
confidence: high
verified_at: 2026-09-03
source_page: https://www.designsystems.one/design-systems/polaris
sources:
- https://polaris.shopify.com/
- https://polaris.shopify.com/tokens/color
- https://polaris.shopify.com/tokens/font
- https://github.com/Shopify/polaris-react-archive
- https://www.figma.com/@shopify
```
> **Unofficial, community-authored reference.** Compiled by [designsystems.one](https://www.designsystems.one). Not affiliated with, endorsed by, or sponsored by Shopify. "Polaris" and related marks belong to their respective owners. This document describes publicly observable style attributes in original words — it contains no copied documentation, logos, icon artwork, or original token files. Always defer to the official source for canonical, current values.
**System:** Polaris
**Owner:** Shopify
**Official documentation:** https://polaris.shopify.com/
**Visual character:** Merchant-workbench pragmatism: quiet grays, one decisive dark action button, and type tuned for forms and data, not marketing.
---
## Summary
Merchant-first design system shipping a real product surface.
_Editorial confidence: high. Values are drawn from well-documented public token references. Field-level evidence: 0/89 claims source-linked, 0/89 dated. Confidence is not verification; validate canonical values before implementation._
[Inspect every field and its evidence](https://www.designsystems.one/api/style-spec?system=polaris)
## Color tokens
| Color | Value | CSS variable | Role |
| --- | --- | --- | --- |
| Surface | `#ffffff` | `--p-color-bg-surface` | Page surface |
| Background App | `#f1f1f1` | `--p-color-bg` | App background behind surfaces |
| Text | `#202223` | `--p-color-text` | Default body text |
| Text Secondary | `#6d7175` | `--p-color-text-secondary` | Secondary text |
| Interactive / Link | `#005bd3` | `--p-color-text-link` | Links and interactive text |
| Primary Button | `#303030` | `--p-color-bg-fill-brand` | Primary action fill (v12 dark button) |
| Critical | `#d72c0d` | `--p-color-text-critical` | Destructive emphasis |
| Success | `#29845a` | `--p-color-text-success` | Positive states |
| Border | `#e3e3e3` | `--p-color-border` | Hairlines and input borders |
## Typography
- **Body:** Inter — weights 400, 450, 550, 650 — `Inter, -apple-system, 'San Francisco', 'Segoe UI', Roboto, sans-serif`
- **Mono:** SF Mono — weights 400 — `ui-monospace, SFMono-Regular, Menlo, monospace`
## Type scale
| Step | Size | Line height |
| --- | --- | --- |
| heading-2xl | `30px` | `32px` |
| heading-xl | `24px` | `28px` |
| heading-lg | `20px` | `24px` |
| heading-md | `16px` | `20px` |
| body-md | `14px` | `20px` |
| body-sm | `12px` | `16px` |
## Spacing
Base unit: `4px`
Scale: `4px` · `8px` · `12px` · `16px` · `20px` · `24px` · `32px`
## Corner radius
| Name | Value |
| --- | --- |
| radius-100 | `4px` |
| radius-200 | `8px` |
| radius-300 | `12px` |
| radius-full | `9999px` |
## Elevation / shadows
| Name | Value |
| --- | --- |
| shadow-200 | `0 1px 2px rgba(0,0,0,0.06)` |
| shadow-300 | `0 4px 6px -2px rgba(26,26,26,0.20)` |
## Motion
| Name | Value |
| --- | --- |
| duration-100 | `100ms` |
| duration-200 | `200ms` |
| ease | `cubic-bezier(0.25, 0.1, 0.25, 1)` |
## Quick start (CSS)
```css
/* Polaris — illustrative tokens, restated as CSS custom properties.
Unofficial reference by designsystems.one; values are indicative, not
canonical. Native dp/sp values are omitted, never silently converted.
Official reference: https://polaris.shopify.com/
Field evidence: https://www.designsystems.one/api/style-spec?system=polaris */
:root {
/* Color */
--p-color-bg-surface: #ffffff; /* Page surface */
--p-color-bg: #f1f1f1; /* App background behind surfaces */
--p-color-text: #202223; /* Default body text */
--p-color-text-secondary: #6d7175; /* Secondary text */
--p-color-text-link: #005bd3; /* Links and interactive text */
--p-color-bg-fill-brand: #303030; /* Primary action fill (v12 dark button) */
--p-color-text-critical: #d72c0d; /* Destructive emphasis */
--p-color-text-success: #29845a; /* Positive states */
--p-color-border: #e3e3e3; /* Hairlines and input borders */
/* Typography */
--font-body: Inter, -apple-system, 'San Francisco', 'Segoe UI', Roboto, sans-serif;
--font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;
/* Type scale */
--text-heading-2xl: 30px; /* line-height 32px */
--text-heading-xl: 24px; /* line-height 28px */
--text-heading-lg: 20px; /* line-height 24px */
--text-heading-md: 16px; /* line-height 20px */
--text-body-md: 14px; /* line-height 20px */
--text-body-sm: 12px; /* line-height 16px */
/* Spacing */
--space-1: 4px;
--space-2: 8px;
--space-3: 12px;
--space-4: 16px;
--space-5: 20px;
--space-6: 24px;
--space-7: 32px;
/* Radius */
--radius-radius-100: 4px;
--radius-radius-200: 8px;
--radius-radius-300: 12px;
--radius-radius-full: 9999px;
/* Elevation */
--shadow-shadow-200: 0 1px 2px rgba(0,0,0,0.06);
--shadow-shadow-300: 0 4px 6px -2px rgba(26,26,26,0.20);
/* Motion */
--motion-duration-100: 100ms;
--motion-duration-200: 200ms;
--motion-ease: cubic-bezier(0.25, 0.1, 0.25, 1);
}
```
## Origin
Polaris launched in 2017 to unify the merchant-facing surfaces of Shopify Admin. It has matured through multiple major versions while remaining unusually grounded in the realities of merchant workflows — long forms, complex tables, error recovery, asynchronous bulk operations.
## Governance
Centralized core team owns the canonical components and tokens; product teams contribute through a public contribution model. Token decisions go through internal RFCs; component changes ship behind versioning with deprecation periods.
## Known for
- Industry-leading content guidelines — Polaris's voice & tone documentation is widely cited beyond Shopify.
- Mature data-table and form patterns built for genuinely complex merchant flows.
- Public, opinionated guidance on accessibility for transactional interfaces.
## Underrated
- The empty-state and error-state catalog — better thought through than most public design systems acknowledge.
- Detailed admin UI patterns (bulk actions, async results) that most design systems duck.
## Watch out for
- Polaris is built for Shopify Admin, not for marketing surfaces — applying it to a content site without adaptation produces a tool-shaped marketing site.
- Heavy on patterns specific to commerce; you will inherit assumptions you may not want.
## Components worth studying
- **ResourceList / IndexTable** — Bulk-action data grids that are genuinely usable at scale.
- **FormLayout** — Field grouping that handles long forms and inline validation cleanly.
- **Banner** — The reference example for inline status messaging in admin UIs.
## When to choose Polaris
Pick Polaris if you're building merchant- or operator-facing tools with form-heavy interactions. Don't pick it as a marketing or storytelling system — its patterns assume a logged-in user doing real work.
## Apply this style with an AI tool
Paste this into your AI coding assistant as a direction, then iterate:
> Design in the spirit of Polaris by Shopify — Merchant-first design system shipping a real product surface. Character: Merchant-workbench pragmatism: quiet grays, one decisive dark action button, and type tuned for forms and data, not marketing. Use a primary colour near #303030, the typeface "Inter" (or a close equivalent), corner radius around 4px, a spacing rhythm on a 4px base. Lean into what it's known for: Industry-leading content guidelines — Polaris's voice & tone documentation is widely cited beyond Shopify. Match the intent, not the pixels; adapt it to my product rather than cloning it.
## Official references
- [Polaris docs](https://polaris.shopify.com/)
- [Polaris React on GitHub (archived)](https://github.com/Shopify/polaris-react-archive)
- [Tokens reference](https://polaris.shopify.com/tokens/colors)
---
_Generated by [designsystems.one](https://www.designsystems.one/design-systems/polaris) — a catalogue of public design systems. Style facts are reported for reference and education; adapt them to your own product. Report issues or takedown requests via the site._
ResourceList / IndexTable
Bulk-action data grids that are genuinely usable at scale.
FormLayout
Field grouping that handles long forms and inline validation cleanly.
Banner
The reference example for inline status messaging in admin UIs.