MainspringGuides › Remap Caps Lock
macOS Guide

Remap Caps Lock to Escape or Control on Mac

Updated 2026 · 4 min read

Caps Lock occupies prime real estate on your keyboard and most people never use it. Remapping it to Escape or Control puts that key to work — no third-party apps, no hacks. macOS handles it natively in System Settings.

Why remap Caps Lock?

The two most popular remappings are:

You can also set Caps Lock to No Action if you just want to disable it entirely and stop triggering it by accident.

The easy way: System Settings (permanent, no restart)

This is the recommended approach. It takes about 30 seconds, survives reboots, and can be undone just as quickly.

macOS Ventura (13) and later

  1. Open System Settings (Apple menu → System Settings).
  2. Click Keyboard in the sidebar.
  3. Click Keyboard Shortcuts… at the bottom right.
  4. In the left panel, click Modifier Keys.
  5. At the top of the panel, choose your keyboard from the dropdown — if you have a MacBook with an external keyboard, you may need to do this separately for each one.
  6. Find Caps Lock Key and change the dropdown to Escape, Control, or No Action.
  7. Click Done.

The change takes effect immediately — no log out required.

macOS Monterey (12) and earlier

  1. Open System Preferences.
  2. Click Keyboard, then the Keyboard tab.
  3. Click Modifier Keys… in the bottom right.
  4. Set Caps Lock Key to your preferred key and click OK.

The advanced way: hidutil (temporary, per-session)

If you want to remap Caps Lock to Escape from the Terminal — or automate it in a script — you can use hidutil, a built-in macOS tool for low-level key remapping.

To remap Caps Lock to Escape:

# remap Caps Lock (0x700000039) → Escape (0x700000029)
hidutil property --set '{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000039,"HIDKeyboardModifierMappingDst":0x700000029}]}'

To remap Caps Lock to Control instead, use the Control key's HID usage code:

# remap Caps Lock (0x700000039) → Left Control (0x7000000E0)
hidutil property --set '{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000039,"HIDKeyboardModifierMappingDst":0x7000000E0}]}'

To undo any hidutil remapping and restore defaults:

# clear all hidutil key remappings
hidutil property --set '{"UserKeyMapping":[]}'

The key limitation of hidutil is that it resets on every reboot. To make it permanent you'd need to create a launchd plist that runs the command at login — which is more complexity than it's worth when System Settings already handles this cleanly.

Which remapping should you choose?

If you're a Vim user, Escape is almost certainly the right choice. You'll notice the difference immediately. If you spend time in a terminal or use Emacs, Control is worth trying — once you get used to chording with your left pinky on Caps Lock instead of the corner, you won't go back.

Not sure? Try Escape first. It's the most popular remapping and you can switch to Control at any time.

Reverting the change

To restore Caps Lock to its original behavior, go back to the same Modifier Keys panel and set the dropdown back to Caps Lock. Done.

More Mac tweaks in one place

Mainspring bundles 90+ macOS power-user settings — keyboard speed, Dock behaviour, hidden file visibility, and more — into one labelled, reversible panel. Worth a look if you're already customising your Mac this deeply.

Try Mainspring free →

Signed & notarized by Apple · 1-day free trial · $29 once