FeaturesEverything includedAI advisorPricingOpen app
app development

Polaris 2 visual guide: every Shopify admin component, before and after

Every Polaris web component rendered live in Polaris 1 and in Polaris 2's new Shopify admin look, side by side, with the exact values behind the change.

From September 15, 2026, the Shopify admin gets a new look, and Polaris 2 is the web component release that carries it into embedded apps. Shopify has shipped the library but no visual guide, so for app developers deciding what the upgrade means for their own screens, this page renders every component with both libraries: Polaris 1 on the left and Polaris 2 with the new admin look on the right, or old above new on a phone. Same markup on both sides, and everything is live, so hover, focus, and open the menus, popovers and modals. The exact values behind the change are at the end.

On September 24, 2026, Shopify published the Polaris 2.0 release candidate for embedded App Home interfaces. The upgrade is opt-in: an app loading polaris-1.js or the legacy polaris.js stays on Polaris 1 until it switches to polaris-2.0-rc.js. Built for Shopify apps have until May 1, 2027 to update their App Home to the new admin design. Admin UI extensions and App Home UI extensions need no change: they automatically match the admin design each merchant has.

Page

Where the redesign is most visible: white canvas, a smaller page title, section headings lifted out of their cards, larger card radius, pill buttons and a near-black primary action.

Section

The heading moves out of the card and sits above it. The card gains a 20px radius and a crisper shadow; with a white page behind it, the hairline border does the work that background contrast used to.

Heading

Darker ink and the new ShopifyInter face. Sizes are unchanged.

Text

Text moves from #303030 to #101010, and tone colors shift with the new status palette.

Paragraph

Same as text: darker ink and the new face. Line lengths barely move because the metrics are close to Inter.

Link blue changes from #005bd3 to a lighter #3573f6, and the critical tone brightens.

Unordered list

Typography changes only.

Ordered list

Typography changes only.

Button

The biggest single change. Buttons become pills. Primary is near-black with a radial highlight; secondary loses its bevel and becomes flat light gray; the critical secondary gets a pink fill.

Button group

Inherits the button changes; spacing is unchanged.

Press button

Toggle buttons follow the pill shape; the pressed state is a filled gray pill.

Clickable

Takes the box changes plus the new hover fill.

Badge

Badges were already pastel. The hues shift (success from mint to yellow-green, info from sky blue to cyan, warning from peach to amber), text gets darker and more saturated, and padding tightens.

Success and warning banners drop their solid header fills for pastel ones with dark text; critical stays solid but brightens to a purer red. Corners round further and the action buttons become pills.

Chip

Chips keep their shape but take the new fills and ink.

Clickable chip

Same as chip, with the new hover and pressed fills.

Spinner

Unchanged apart from color.

Tooltip

Tooltips keep their dark surface. Hover the icon or the button.

Avatar

Avatar radius now scales with size and uses the superellipse where supported. Initials fills come from a new set of avatar colors.

Thumbnail

Media radius follows the same scaling rule as avatars.

Image

No change beyond the surface it sits on.

Icon

Default icon color darkens from #4a4a4a to #101010; tone colors follow the new status palette. The glyphs come from the same icon set.

Text field

Inputs go pure white with a soft shadow, a larger 12px radius and no blue focus outline. Minimum height drops by 2px. Click into one to compare focus.

Text area

Same treatment as text fields.

Number field

Same treatment as text fields.

Money field

Same treatment as text fields.

Email field

Same treatment as text fields.

Password field

Same treatment as text fields.

URL field

Same treatment as text fields.

Search field

Same treatment as text fields.

Select

Field styling as above. Open it to compare the option-item radius and the popover shadow.

Date field

Field styling as above. Open it to see the calendar popover.

Date picker

The selected day becomes a wide near-black pill instead of a square, and the calendar spreads out with more whitespace.

Color field

Field styling as above. Open it to see the picker popover.

Color picker

Handles and the hue slider get the new control-knob shadow.

Drop zone

Larger radius and a pill-shaped upload button.

Checkbox

The box shrinks from 16px to 14px, and the checked fill goes near-black with a subtle shadow instead of a flat fill.

Choice list

Radios and checkboxes shrink slightly and take the near-black checked fill.

Switch

The on state uses the brand fill, so it goes from charcoal to near-black; the knob gets a lighter shadow.

Table

Darker header and body text, a lighter row border, and badges inside cells pick up the new pastel hues.

Divider

Border colors shift by a shade.

Box

Background and border colors shift; the radius keywords map to the new, larger scale.

Stack

Layout primitive; no visual change of its own.

Grid

Layout primitive; no visual change of its own.

Scroll box

Layout primitive; no visual change of its own.

Query container

Layout primitive; no visual change of its own.

Popover

Popover radius grows from 12px to 16px and the shadow gets much lighter. Open it to compare.

Menu items take the larger option-item radius. Open it to compare.

Dialog radius grows from 16px to 24px with a much lighter shadow. Open it to compare.

Empty state

A centered graphic, heading, subheading and up to two actions for empty lists, tables and pages. New in Polaris 2.0.

Number

Inline numerals with tabular figures, tone, size and weight, so columns of figures line up. New in Polaris 2.0.

What changed, in values

The values behind the differences above, as shipped in the release candidate. Polaris 2 drives them through internal CSS variables whose names change with each build, so they aren’t a way to restyle components; they are listed here for matching custom UI to the new look.

WhatPolaris 1 lookPolaris 2.0 new look
Page background#f1f1f1#fff
Body text#303030#101010
Secondary text#616161#606060
Tertiary text#616161#868686, now visibly lighter
Default icon color#4a4a4a#101010
Links#005bd3#3573f6
Focus rings#005bd3#3573f6
Default border#e3e3e3#e6e6e6
Primary button fill#303030#0c0c0c
Primary button hover#1a1a1a#000
Primary button highlightlinear gradientradial gradient
Secondary button fill#fff#f3f3f3
Secondary button bevelinset bevelnone
Button and chip radius8pxfull (pill)
Card and section radius12px20px
Modal radius16px24px
Popover and menu radius12px16px
Input and select radius8px12px
Generic element radius8px10px
Corner curvature (where the browser supports it)normalsuperellipse(1.333)
Input background#fdfdfd#fff
Input shadownonesoft drop shadow
Input focus outline2pxnone, replaced by shadow
Minimum field height32px30px
Checkbox and radio size16px14px
Success fill#047b5d#b3f782
Success text#014b40#306b06
Info fill#91d0ff#a8eaff
Info text#003a5a#025e8d
Warning fill#ffb800#ffc87a
Warning text#5e4200#b95d00
Caution fill#ffe600#ffe45c
Critical fill#c70a24#eb0014
Critical text#8e0b21#d70b2e
AI accent#5700d1#672ff4
Admin navigation (the host frame, not app content)#ebebeb#0a0a0a
Card shadowsoft diffusehairline plus soft spread
Modal shadowlarge and darksmall and light
TypefaceInterShopifyInter

A few values are conditional: control radii grow on touch devices, avatars and media round out, and the superellipse corner shape applies only in browsers that support corner-shape. The same component can therefore look slightly different by device without any code change.

A note on timing: the notes and values on this page come from our analysis of the Polaris 2.0 release candidate as served on September 16, 2026. The rendered examples are live, though: both libraries load from Shopify’s CDN when you open the page, polaris-1.js for the stable Polaris 1 channel and polaris-2.0-rc.js for the release candidate, falling back to the stable polaris-2.js channel once the release candidate is retired. So the examples track what Shopify currently ships, and some details in the text may have changed since our analysis.

Outside the admin, as on this page, the release candidate renders the new look by default. Inside the admin it follows the store: an app on polaris-2.0-rc.js matches whichever design that store currently has, old or new. Shopify recommends testing in all three contexts: a store with the new design, a store with the previous design, and outside the admin. The new admin also adds a Sidekick bar along the bottom of the screen; the environment API’s --shopify-safe-area-inset-bottom CSS variable keeps app content clear of it.

Shopify’s own announcements are Polaris 2.0 release candidate and Prepare your app for the Shopify admin’s new look.

OptionWise is a Shopify product options app that renders options on Shopify’s servers, so they load with the page and are visible to search engines and AI assistants. Its admin is built on Polaris web components, which is why we track these releases closely.

Try OptionWise on your store

OptionWise adds unlimited product options to any Shopify store. Offer dropdowns, swatches, checkboxes, text fields and file uploads, show or hide options based on other choices, and charge for add-ons at checkout. Install it in a couple of clicks and publish your first option set in minutes.

Add to Shopify