Skip to main content

Visual design

Visual design focuses on app aesthetics through the strategic use of images, colors, fonts, and other elements.

Colors, fonts, icons, illustrations, and many other visual elements have a big influence on your app's usability. Great apps use strong visual design to heighten the merchant experience.

Fitting into the admin

Because merchant workflows cross between apps and the Shopify admin, merchants can have an easier time accomplishing their tasks when apps use the same visual design cues as the admin. The easiest way to create a harmonious experience with the Shopify admin is by following our design system, Polaris.

Tip

Admin UI extensions blend in seamlessly with the Shopify admin UI. For optimal integration, we recommend that embedded app workflows follow Polaris. Otherwise, the merchant experience across embedded apps and admin UI extensions might break or feel jarring.

Polaris style tokens being applied to a layout to make it align with the Shopify admin.

Refer to the Polaris style tokens for styles that we use across the Shopify admin, such as colors, typography, spacing, shadows, borders, and more.

Color

Your app exists within the Shopify admin, so you should consider colors that adhere to the Polaris Color Roles. Your colors should also respect minimum contrast ratios when used with text or interactive elements.

While colors are useful in design, avoid relying on color only to provide context. For alerts like error states, success states, or system warnings, include messaging or iconography that explains what's happening.

A table and several cards illustrating examples of predominantly black and dark grey text.

Present the majority of app text in a legible and neutral color, such as black or dark gray.

A green banner with the title "Your shipping label is ready to print".

Green (--p-color-text-success or rgba(1, 75, 64, 1)) should be used to indicate that a status is positive or that an action has been completed successfully. Avoid using green to entice merchants or to draw unnecessary attention.

A table with example orders. One of the table columns is titled "fulfillment status", the corresponding rows contain yellow badges labelled unfulfilled.

Yellow (--p-color-bg-fill-caution or rgba(255, 230, 0, 1)) should be used to indicate that a status is on pause or incomplete, or to highlight information that requires merchant attention but isn't urgent. Avoid using yellow for announcements.

An example of a orange banner with the content "Changing the phone number for this customer will unsubscribe them from SMS marketing text messages until they provide consent".

Orange (--p-color-bg-fill-warning or rgba(255, 184, 0, 1)) should be used to indicate that a status is in-progress, pending, or to tell merchants that something needs their attention. Orange is the strongest, non-blocking color role in the Shopify admin. Avoid using orange for "under construction" or "coming soon" messaging.

A sample table of products. One of the rows contains a red badge with the label "0 available in 3 locations".

Red (--p-color-text-critical or rgba(142, 11, 33, 1)) should only be used to convey messaging that implies an action is impossible, blocked, or has resulted in an error. Avoid using red to entice merchants or to draw unnecessary attention.

Proper color contrast ratios between a card and its label, explanatory text, and buttons.

Background-to-text contrast ratio should be at least 4.5:1 to be WCAG AA compliant. Test your ratios using a tool such as WebAIM Contrast Checker.

App icon

Your app icon acts as the main visual identifier for merchants.

The app icon displays in many touch points, like in the Shopify App Store, on the Apps page in the Shopify admin. Shopify renders your app icon as an SVG into the admin left hand navigation.

Info

For guidance on changing your app icon, go to the App Setup page in the Partner Dashboard.

A gray icon on a similarly gray background.

App icons will be used on white and light gray backgrounds, so avoid using similar colors that might make your icon illegible. Refer to Polaris style tokens for Shopify admin color values.

Specifications

Adhere to the following app icon specifications:

An icon set in a grid that respects all specifications.

Preparing your app icon

Design your app icon at 1200px x 1200px. This ensures that your icon meets the size requirements.

Tip

We recommend using the app icon templates to easily adhere to app icon guidelines.

The minimum size of an icon within the icon grid.

Design your icon to fill 10/16ths (750px for a 1200px icon) of a vertical or horizontal space.

The maximum size of an icon within the icon grid.

Design your icon to at most fill 12/16ths (900px for a 1200px icon) of a vertical or horizontal space.

1/16th margin around an icon.

Leave a 1/16th (75px for a 1200px icon) margin around your icon that's free of any visual elements.

An icon that contains a lot of text, some of which is repetitive.

Avoid using excessive amounts of text in your icon. This makes it hard to identify and read at smaller sizes.

An icon that uses the Shopify logo for the app's branding.

Don't mislead merchants by using an app icon that you don't own. This includes any part of the Shopify logo.

Typography

Typography is the arrangement of letters in a way that makes reading text easy and comfortable for merchants.

Polaris typography tokens provide a great way to streamline typography.

Different typography styles in an app, such as for a page heading, card, and smaller displays.

Type hierarchy

Proper use of typography can improve the app experience. By creating a healthy visual hierarchy between headlines and copy, you'll improve legibility and consistency with the Shopify admin.

An app that communicates hierarchy consistently through text size. The top heading is largest, to indicate the primary topic. Subheadings are smaller. Regular text is the smallest size.

Typography should create a clear hierarchy between headings and text that's easily legible by merchants. Whenever possible, the title of the current page should be the largest heading size.

A page heading that uses size and bold character formatting to indicate that it introduces a new section.

Make headings visually distinct from the rest of the text, by being bolder, larger in size, or both. Avoid using underlines that might be mistaken for links.

A page heading that lacks distinguishing characteristics like bold formatting and size.

Avoid using only color to distinguish a heading to convey hierarchy, as some merchants may not be able to perceive color.

Font sizes

Our font size specifications apply to the minimum sizes required for legibility in the Shopify admin.

Headings, body text, and interactive elements with text at the minimum required size of 13 pixels.

Use 13px as the minimum size for headings, body text, and text in interactive elements.

Captions and subheadings at the minimum required size.

12px is the minimum size for smaller copy, like captions and subheadings.

Icons

Icons act as visual aids to help merchants complete tasks. They're often paired with text to make your app easier to use and to disambiguate certain interactions.

You can save time by using Polaris icons, or create your own by following the Polaris icon guidelines.

An interface that uses icons for primary app actions and to help identify items that users can select in a "More actions" dropdown menu. The icons help users understand the outcome of each action.

Icons can help merchants better understand the outcome of an action, or help them understand more technical terms that they might not be familiar with.

A list of components where only a few elements have an icon, which puts the list text out of alignment.

Avoid using icons inconsistently in lists and other repeating elements. This makes your app look broken.

Illustrations

Illustrations give your app personality and help merchants understand complex concepts through meaningful visual metaphors.

Following the Polaris illustrations guidelines is a great way to make your app's illustrations fit nicely with the Shopify admin.

Illustrations that are on different app elements but share the same blocky, grid-like styling that's reminiscent of 8-bit computer games.

Keeping a consistent illustration style in your app can strengthen your brand presence and make your app easily recognizable.

Low resolution illustrations that are very pixelated and blurry.

Avoid using low resolution photos or images, as they can convey a lack of care and poor quality experience.