Guide
Create a Custom Keyboard Shortcut on Mac
Updated

Yes - macOS has this built in, and you don’t need any extra software for it. Open System Settings → Keyboard → Keyboard Shortcuts → App Shortcuts, click +, type the menu command exactly as it appears in the app, and press the keys you want. The catch is in that word “menu”: this method can only bind commands that already exist as menu items, which rules out a large share of what people actually want shortcuts for.
The steps in full
- Find the exact menu command. Open the app, open the menu, and read the item carefully. You will have to reproduce its wording exactly.
- Open App Shortcuts. Apple menu → System Settings → Keyboard → Keyboard Shortcuts → App Shortcuts.
- Click the Add button (+). In the Application pop-up, pick the app - or All Applications if you want the binding wherever that command exists.
- Type the Menu title. Exactly as the app shows it.
- Click the Keyboard shortcut field, press your combination, click Done.
Open the menu again and your shortcut will be sitting next to the command.
The exact-match rule, which is where most attempts fail
Apple’s instruction is to type the command “exactly as the command appears in the app, including the > character (type ->), ellipses (type three periods without spaces), or other punctuation.”
In practice that means:
| Menu shows | You type |
|---|---|
| Export as PDF… | File->Export as PDF... |
| Use Default (in Format ▸ Font ▸ Ligatures) | Format->Font->Ligatures->Use Default |
| Save As… | Save As... |
Three rules that catch people out:
- The ellipsis is three periods, not the
…character. Typing the single-glyph ellipsis will not match. - Submenus use
->, with no spaces around it. - It’s case- and space-sensitive. A trailing space is invisible and fatal.
If the shortcut simply doesn’t appear next to the menu item, the title didn’t match. That is nearly always the cause.
What this can and can’t do
This is worth being clear about before you spend an evening on it.
It can:
- Give a menu command a shortcut it doesn’t have
- Replace an app’s existing shortcut for a command
- Resolve a conflict, by moving one of the two commands somewhere else
- Apply across every app at once with All Applications
It can’t:
- Launch or switch to an app
- Trigger anything that isn’t a menu item - window tiling, mic mute, Do Not Disturb, a URL, a script
- Vary by context: an All Applications binding is the same everywhere, and a per-app binding only knows about the app, not the website or window you’re in
- Show you what you’ve bound - there’s no overview beyond the list in System Settings
That last group is the honest boundary of the built-in tool. If everything you want is a menu command, App Shortcuts is genuinely all you need and you should stop here.
When you need more than menu commands
The moment your list includes “open my standup doc,” “mute the call,” “tile this window left,” or “jump to the repo I’m working in,” App Shortcuts can’t help - none of those are menu items. That’s the gap a hyper key layer fills: one key that no app claims, holding a set of commands that aren’t restricted to menus and that can change meaning based on the app or website you’re in.
It’s also worth reading why remapping to keys that mean something to you beats memorising defaults, and how to lay those bindings out so they don’t collide.
Before you rebind: check what’s already there
Plenty of the shortcuts people set out to create already exist and just aren’t well known. Worth a look at the default shortcuts for the apps you use - and especially the system-wide macOS and Finder ones, since those work everywhere and are the ones most often reinvented.
If you’re trying to fix a shortcut that used to work, keyboard shortcuts not working on Mac covers the usual causes.
Frequently asked questions
Can I create a keyboard shortcut to open an app on Mac?
Not with App Shortcuts. Apple is explicit about this: "You can create keyboard shortcuts only for existing menu commands. You can't create keyboard shortcuts for general purpose tasks, such as opening an app." Launching an app, tiling a window, or toggling a system setting all fall outside what System Settings can bind, which is the main reason people reach for a third-party tool.
Why isn't my custom keyboard shortcut working?
Nine times out of ten the Menu title doesn't match the menu command exactly. It's case-sensitive and punctuation-sensitive: an ellipsis has to be three plain periods with no spaces, a submenu path uses -> between levels, and a trailing space will break it. Check the menu item again with the app open and copy the wording character for character. If it still fails, the chord may already be claimed by macOS itself, which wins over app-level shortcuts.
Does this work for every app?
It works for apps that use standard macOS menus, which is most of them. Apps that draw their own interface - many Electron apps, games, and anything with a custom-rendered menu - may not expose their commands to the system in a way App Shortcuts can reach. If the command isn't in a real menu bar menu, this method can't bind it.
How do I remove or reset a custom shortcut?
Return to System Settings → Keyboard → Keyboard Shortcuts → App Shortcuts, select the entry, and click the Remove button (−). To undo everything at once, the Keyboard Shortcuts pane has a "Restore Defaults" button, though that resets all of macOS's shortcut categories, not just your custom ones.