A menu bar extra exposes app-specific functionality via an icon that appears in the menu bar when your app is running, even when it’s not the frontmost app. Menu bar extras are on the opposite side of the menu bar from your app's menus. The system hides menu bar extras to make room for app menus. Similarly, if there are too many menu bar extras, the system may hide some to avoid crowding app menus.

Screenshot of the Time Machine menu bar extra and its menu.

Use a template image to represent your menu bar extra. A template image discards color information and uses a mask to produce the appearance you see onscreen. Template images automatically adapt to the user’s appearance settings, so they look good on both dark and light menu bars, and when your menu bar extra is selected.

Display a menu—not a popover—when the user clicks your menu bar extra. Unless the app functionality you want to expose is too complex for a menu, you should avoid presenting it in a popover. See Popovers.

Let people decide whether to enable your menu bar extra. Users, not apps, should choose when a menu bar extra is added to the menu bar. Typically, this is done by changing a setting in an app’s preferences window. To ensure discoverability, however, consider giving people the option of enabling the menu bar extra during setup.

Don’t rely on the presence of menu bar extras. The system hides and shows menu bar extras regularly, and you can’t be sure which other menu bar extras users have chosen to display, or where your menu bar extra will be placed in the menu bar.

Consider exposing app-specific functionality in other ways too. For example, you can provide a Dock menu that appears when the user Control-clicks your app’s Dock icon. The user can hide or choose not to use your menu bar extra, but a Dock menu is aways available when your app is running. See Dock Menus.