What is a custom menu in Google Sheets?

A custom menu is a menu bar section your Apps Script adds with SpreadsheetApp.getUi().createMenu(), typically from an onOpen trigger. It gives teammates one-click buttons for exports, sorts, or wizards instead of remembering hidden functions.

When to use it

Use custom menus when non-technical editors need safe, labeled actions on a shared ops sheet.

When to skip it

Skip menus for personal one-user sheets where keyboard shortcuts or macros are enough.

How it works

  1. 1

    Write onOpen that builds menu items linked to function names.

  2. 2

    Keep menu labels short and action-oriented.

  3. 3

    Authorize script on first menu click if needed.

  4. 4

    Document each item in README tab.

  5. 5

    Hide dangerous dev items before client handoff.

Examples in Google Sheets

Export menu

Custom Export menu sends CSV of filtered range to Drive folder.

Build this without starting from a blank cell

Use a Better Sheets tool for custom menu, then watch a walkthrough when you want the full pattern.

Better Sheets resources

Common mistakes

  • Menu item calls a renamed function causing silent failure.
  • Too many items without separators.
  • onOpen fails for viewers who cannot run simple trigger.

Frequently asked questions

Custom menu vs macro?
Macros record UI steps. Custom menus call functions you wrote with full logic.
Refresh menu?
Close and reopen the sheet or rerun onOpen during testing.

Related Tutorials

Watch how custom menu works

Browse more tutorials
Spreadsheet Automation 101 Lesson 1: onOpen() Trigger - Custom Menu

Spreadsheet Automation 101 Lesson 1: onOpen() Trigger - Custom Menu

This lesson will get you started on your first trigger. It’s the first r...
Breaking Through Errors In Apps Script

Breaking Through Errors In Apps Script

See where to find errors in your apps script and how to fix them. You wi...
Make a Tour of Your Sheet

Make a Tour of Your Sheet

create a tour of your sheet for users who might be using your sheet and ...
Add-on menu on open

Add-on menu on open

Instead of just adding a custom menu to a sheet, we're going to turn thi...
Activate A Certain Sheet When Opening a Spreadsheet

Activate A Certain Sheet When Opening a Spreadsheet

Create a short function that runs every time a spreadsheet file is open....
Advanced Coding in Google Sheets for Programmers

Advanced Coding in Google Sheets for Programmers

Add a Custom Menu Create Native-like Functions Get URL and Sheet ID's vi...

Related blog posts

Guides that explain custom menu in more depth.

Browse the blog

Related glossary terms

Done reading about custom menu?

Membership unlocks 636+ tutorials, unlimited generators, and every template. Practical lessons. Zero fluff.

Need this once

Jump to a free tool or a single tutorial for this topic.

Learning Sheets for real

Unlock the full library, generators, and templates with membership.