Custom Icons

In macOS 11 and later, prefer using SF Symbols to represent tasks and modes in your app. If your app is running in macOS Catalina or earlier, or if you need to create custom bitmap icons, follow the guidance below.

Create simple, recognizable designs. Too many details can make an icon appear sloppy or unreadable. Strive for a design most people will interpret correctly and won’t find offensive.

Keep your icons consistent. Whether you use only custom icons or mix custom and system icons, all icons in your app should be the same in terms of size, level of detail, perspective, and stroke weight.

Avoid including text in an icon. If you need to show text, display a label beneath the icon and adjust its placement accordingly.

Don’t use replicas of Apple hardware products. Apple products are copyrighted and can’t be reproduced in your icons or images. In general, avoid displaying replicas of devices because hardware designs tend to change frequently and can make your icon look dated.

Provide alternative text labels for icons. Alternative text labels aren’t visible onscreen, but they let VoiceOver audibly describe what's onscreen, making navigation easier for people with visual impairments.

Consider creating icons as template images.template image is a monochromatic image with transparency, anti-aliasing, and no drop shadow that uses a mask to define its shape. Template images automatically receive the appropriate appearance—including coloring, highlighting, and vibrancy—based on the context and user interactions. A variety of interface elements support template images, including buttons, segmented controls, sidebars, and toolbars.

Consider outputting custom icons in PDF format. The system automatically scales PDF-based icons for high-resolution displays, so you don’t need to provide high-resolution versions. PNG format is recommended only for intricate designs that require effects like shading, textures, and highlights.

Provide icons at appropriate sizes. If your icons are in PDF format, only the @1x size is needed. If your icons are in PNG format, then both @1x and @2x sizes are needed.

Segmented Control Icons

If you design icons for use in segmented controls, use the following sizes.

Regular-sized icons in a segmented control.


Small-sized icons in a segmented control.


Mini-sized icons in a segmented control.


Control size Icon size (@1x) Icon size (@2x)
Regular 17px × 17px (17pt × 17pt @1x) 34px × 34px (17pt × 17pt @2x)
Small 14px × 13px (14pt × 13pt @1x) 28px × 26px (14pt × 13pt @2x)
Mini 12px × 11px (12pt × 11pt @1x) 24px × 22px (12pt × 11pt @2x)

For related guidance, see Segmented Controls.

If your app includes a window with a sidebar, you can supplement the items in the sidebar with icons that add clarity. For example, the icons in the sidebar of the Mail viewer window make it easy to identify different types of mailboxes at a glance, including the Inbox, Drafts, Sent, and Junk mailboxes.

Design sidebar icons with transparency and appropriate levels of detail. Sidebar icons should be small, streamlined template images with more internal detail and realism than toolbar and control icons. Imagine an X-ray of an object using a straight-on perspective: capture the details, and form a sharp outline of the object’s shape.

The sidebar in Mail on macOS.

Icon size (@1x) Icon size (@2x)
16px × 16px (16pt × 16pt @1x) 32px × 32px (16pt × 16pt @2x)
18px × 18px (18pt × 18pt @1x) 36px × 36px (18pt × 18pt @2x)
32px × 32px (32pt × 32pt @1x) 64px × 64px (32pt × 32pt @2x)

For related guidance, see Sidebars.

Toolbar Icons

If your app includes a toolbar, you can design custom icons to display within controls or as freestanding buttons.

Toolbar icons, as shown in a Pages document window.

Control icons

Toolbar icons, as shown in the Finder preferences window.

Freestanding icons

Use control icons or freestanding icons in a toolbar, but not both. Toolbars look best and are easiest to understand when they contain a consistent icon style.

Prefer control icons in most toolbars. Freestanding icons tend to be more common in preference window toolbars, where they are often used as pane switchers.

Design simple and recognizable toolbar icons. The best icons use familiar visual metaphors that are directly related to the actions they initiate. When an icon depicts an identifiable, real-world object or recognizable app task, it gives first-time users a clue to its function and helps experienced users remember it.

Make toolbar icons distinct, but harmonious. When icons are easily distinguishable, people learn their purpose and location quickly. Use variations in shape and image as primary differentiating factors. At the same time, maintain a similar perspective, size, and visual weight across your entire icon set.

For related guidance, see Toolbars.

Toolbar Control Icons

Use the system-provided control icons whenever possible. These icons are familiar to users, so if there’s one that meets your needs, use it rather than designing a custom icon. See System Icons > Control Icons.

Design control icons with transparency and appropriate levels of detail. Control icons should be small, streamlined template images with sharp outlines. Use a straight-on perspective, anti-aliasing, and transparency as needed to suggest dimensionality.

Maximum icon size (@1x) Maximum icon size (@2x)
19px × 19px (19pt × 19pt @1x) 38px × 38px (19pt × 19pt @2x)

Freestanding Toolbar Icons

Design an inviting image that clearly communicates its purpose. Because freestanding icons don’t need to fit within controls, you have a little more room to express a concept. Make the outline sharp and use color judiciously to add meaning. Use a straight-on perspective with anti-aliasing.

Don’t redesign a toolbar version of a well-known interface element. Although you should generally use the straight-on perspective for freestanding toolbar icons, if you use a recognizable icon from elsewhere, don’t change its appearance or perspective.

Provide full-color freestanding icons in PNG format. Provide @1x and @2x versions.

Icon size (@1x) Icon size (@2x)
32px × 32px (32pt × 32pt @1x) 64px × 64px (32pt × 32pt @2x)