Admin Menu in Magento 2

What is the Admin Menu in Magento 2?

The Admin Menu in Magento 2 is the navigation structure displayed in the Magento Admin Panel. It allows administrators to access different system sections such as Catalog, Sales, Customers, Marketing, Content, Reports, Stores, and System.

Developers can add custom menu items to the Admin Panel using the menu.xml configuration file in a custom module.

Default Magento Admin Menu Sections

  • Dashboard – Store overview and statistics.
  • Sales – Orders, invoices, shipments, and transactions.
  • Catalog – Products, categories, inventory.
  • Customers – Customer accounts and groups.
  • Marketing – Promotions, SEO, newsletters.
  • Content – CMS pages, blocks, widgets.
  • Reports – Sales, product, and customer reports.
  • Stores – Store configuration and settings.
  • System – Cache, integrations, permissions.

Creating a Custom Admin Menu

To add a custom menu item in Magento Admin Panel, create the following file:

File Location:




Example menu.xml Configuration




Important Attributes in menu.xml

Attribute Description
id Unique identifier for the menu item.
title The label displayed in the admin menu.
module The module responsible for the menu item.
sortOrder Defines the position of the menu item.
parent Defines the parent menu item.
action The controller action triggered when clicked.
resource ACL permission required to access the menu.

ACL Permission for Admin Menu

Magento uses ACL (Access Control List) to control which admin users can access specific menu items.

File: etc/acl.xml




Result in Admin Panel

After module installation and cache refresh, the Admin Panel will display:

  • Custom Module
  • Manage Items

Clicking the menu will open the corresponding controller action.

Best Practices

  • Use unique menu IDs.
  • Always define ACL permissions.
  • Organize menu items logically.
  • Use meaningful titles for admin users.
  • Maintain proper sort order.