Skip to main content

How to Bulk Import and Manage Shopify Menus

BulkFlow | | 10/15/2026

Shopify doesn’t have a built-in way to import navigation menus from a CSV file. You can build menus by hand under Content > Menus, but to import a whole menu structure at once, whether you’re migrating, copying menus between stores or setting up a large catalog, you need a spreadsheet import app, a browser extension or Shopify’s Admin API.

Whichever route you choose, a menu import only works if the products, collections and pages it links to already exist. Planning the menu tree and creating those resources first is what makes the import itself quick.

Can You Import Menus Into Shopify?

Not natively. Shopify’s product CSV import doesn’t cover menus, and there’s no import or export button on the Menus page. Your options depend on how many menus you have and how technical you want to get.

Option How it works Best for Watch out for
Build menus manually Add and drag menu items under Content > Menus Small menus or one-off changes Slow for large or deeply nested menus
Spreadsheet import app An app such as Matrixify imports menus from an Excel or CSV file Large menus, migrations, backups and copying menus between stores Paid subscription, and linked resources must already exist
Browser extension Chrome extensions copy, export or import menus from the admin Duplicating or editing existing menus quickly Extensions act inside your logged-in admin, so review permissions and the developer first
Admin API A developer creates menus with the menuCreate mutation Custom migrations, automation and agencies managing many stores Needs development work and an app with menu access

Older forum answers say Shopify has no API for menus, which was true for a long time. The GraphQL Admin API now includes a menuCreate mutation, so developers can create menus programmatically with the right access.

Mega menu apps are a separate case. Many offer their own import, for example to copy a demo menu, but that usually loads a menu into the app rather than into Shopify’s own navigation menus.

Prepare Your Store Before Importing

A menu is a list of links, and each link points to something in your store. Import tools find those targets by handle, so a menu item pointing to a collection that doesn’t exist yet will fail or need fixing afterward.

Create the pages your menu links to

Before importing a menu, make sure every linked product, collection, page and blog already exists. If you’re moving to Shopify, that usually means importing products first, then setting up collections, pages and blog posts, and only then importing menus.

For collections, two shortcuts help. Automated collections fill themselves based on conditions such as product type, vendor or tag, and Shopify’s product CSV accepts an optional Collection column that adds each product to a collection and creates the collection if it doesn’t exist. That column assigns only one collection per product and isn’t included in exports, so it works best for a simple initial setup.

Getting the product data in place is often the largest step. Bulkflow supports bulk import of product data for Shopify, WooCommerce and Wix, which can help you load the catalog your menus will link to.

Plan the menu tree

Sketch the menu as a tree before building the file: top-level items, the items beneath each one and what each item links to. Shopify menus support a top-level item with up to two levels of drop-down menus beneath it, and your theme decides how well those levels display on desktop and mobile.

Note the handle of every linked resource as you plan. Handles are the last part of each URL, such as sandals in /collections/sandals, and import files use them to match menu items to the right pages.

How to Import Menus With a Spreadsheet App

Spreadsheet apps are the most common way to import menus without code. Matrixify, for example, imports menus from a sheet named Menus, with one row per menu item.

Column What it holds Example
Title The menu name, repeated on every row of that menu Main menu
Menu Item: Title The label shoppers see Sandals
Menu Item: Resource Type What the item links to, such as COLLECTION, PRODUCT, PAGE, BLOG or HTTP COLLECTION
Menu Item: Resource Handle The handle of the linked resource sandals
Menu Item: URL A full web address, used only for HTTP links https://example.com/size-guide
Menu Item: Parent Title The parent item’s title, left empty for top-level items Shoes
Menu Item: Position Order within the parent, or blank to use row order 2

A few link types need special values. Blog posts use the blog handle and post handle together, policy links name the policy, such as REFUND_POLICY, and links to the homepage, search or the all-collections page don’t need a handle at all.

  1. Build the file. Fill in one row per menu item, keeping each item’s children below it.
  2. Upload it. In the app, upload the file in the import section and let it analyze the contents.
  3. Review the preview. Check that the app recognized the Menus sheet and the expected number of items.
  4. Import. Run the import and wait for it to finish.
  5. Check the result. Open Content > Menus in your Shopify admin and confirm the structure and links.

The same apps can usually export menus too. Exporting your current menus first gives you a backup and a ready-made template showing exactly how your existing items are formatted.

How to Create Menus With the Admin API

Developers can create menus with the GraphQL Admin API’s menuCreate mutation. The app making the request needs the write_online_store_navigation access scope, and each menu needs a title, a unique handle and a list of items.

mutation {
 menuCreate(
 title: "Main menu"
 handle: "main-menu-new"
 items: [
 {
 title: "Shoes"
 type: COLLECTION
 resourceId: "gid://shopify/Collection/123"
 items: [
 { title: "Sandals", type: COLLECTION, resourceId: "gid://shopify/Collection/456" }
 ]
 }
 { title: "Size guide", type: HTTP, url: "https://example.com/size-guide" }
 ]
 ) {
 menu { id handle }
 userErrors { field message }
 }
}

Unlike spreadsheet apps, the API links items by resource ID rather than handle, so a migration script usually looks up each collection, product or page ID first. Items can be nested inside each other through their own items list, and checking userErrors in the response shows which items failed and why.

Copying Menus Between Stores

Copying menus from one Shopify store to another, such as from a development store to a live store, works the same way as any import. Export the menus from the source store, then import the file into the destination store.

The catch is handles. Menu items find their targets by handle, so the destination store needs products, collections and pages with the same handles as the source store. If you’ve changed handles along the way, update them in the file before importing.

Default menus need care too. Shopify stores come with a main menu and a footer menu that can’t be deleted and recreated, so plan to import items into those existing menus or point your theme at a newly imported menu instead.

Check Your Menus After Importing

An import can succeed and still leave your storefront unchanged. Menus only appear where your theme displays them, so a few checks finish the job:

  • Assign the menu in your theme. If you imported a new menu rather than updating the main menu, select it in the header or footer settings of the theme editor.
  • Test every link. Click through each item on the live storefront to catch links to missing or renamed pages.
  • Check nesting on mobile. Drop-down levels that look fine on desktop can be harder to use on small screens.
  • Keep a backup. Export the finished menus, so you can restore or copy them later.

Conclusion

Shopify menu import isn’t built into the admin, but a spreadsheet app, a browser extension or the Admin API can each load a full menu structure in one go. Creating the linked products, collections and pages first, then planning the tree around their handles, keeps the import clean and your navigation working from day one. We hope this guide helps you handle your next Shopify menu import with confidence. If you’re also importing the products behind your menus, you can explore Bulkflow.

How to Bulk Import and Manage Shopify Menus
BulkFlow provides a solution to import data in bulk from CSV/Excels Files, FTP, Google Sheet, XML,… to e-commerce platforms such as Shopify, WooCommerce,… automatically and quickly.