How to change keyboard language on Mac

Short answer: press Control + Space to switch to the keyboard language you used last, or Control + Option + Space to step to the next one. If the language you need is not there yet, add it in System Settings ▸ Keyboard ▸ Text Input ▸ Edit… ▸ +. On a keyboard with a 🌐 key, one press of 🌐 can switch too.

Add a keyboard language

A Mac only switches between the languages you have added as input sources. To add one:

  1. Open the Apple menu ▸ System Settings and click Keyboard in the sidebar.
  2. Under Text Input, click Edit… next to Input Sources.
  3. Click + in the bottom-left corner, search for the language, for example Ukrainian, choose a layout and click Add.

Once there are two or more input sources, the Input menu (a flag or letters) appears in the menu bar on its own.

Coming from Windows? Several languages come in two layouts: the Mac one and a PC one. On the Mac Ukrainian and Russian layouts, punctuation sits on different keys than on Windows. If your fingers know the Windows layout, pick the variant marked PC, such as “Ukrainian – PC”.

On macOS 12 Monterey and earlier the same list is in System Preferences ▸ Keyboard ▸ Input Sources.

Five ways to switch the keyboard language

MethodWhat it does
Control + SpaceSwitches to the input source you used last. Press it again to switch back.
Control + Option + SpaceSteps to the next input source in the Input menu.
Hold Control, tap SpaceShows every input source; keep tapping Space to move through the list and release on the one you want.
🌐 key (or fn)Switches to the next input source, once you set Press 🌐 key to to Change Input Source in Keyboard settings. Only on keyboards that have the key.
Caps LockSwitches between a non-Latin language and your Latin one, once you turn on the Caps Lock option under Text Input ▸ Edit….

You can always click the Input menu in the menu bar and pick a language with the mouse.

The Caps Lock catch: it only toggles between a non-Latin source (Ukrainian, Russian, Greek, Hebrew, Arabic…) and a Latin one (English, German, Polish…). Ukrainian ↔ English works; German ↔ English does not, because both are Latin.

Change the shortcut

  1. Open System Settings ▸ Keyboard and click Keyboard Shortcuts….
  2. Choose Input Sources on the left.
  3. Make sure “Select the previous input source” is ticked, double-click its shortcut and press the new combination.

If the shortcut opens Spotlight or does something else in an app, it clashes with another shortcut. ⌘ + Space belongs to Spotlight, and many code editors, including JetBrains IDEs, use Control + Space for code completion. Pick a combination nothing else uses.

Switch languages the Windows way: Shift or Alt+Shift

macOS will not take a shortcut made of modifier keys alone, so there is no built-in way to switch with Alt + Shift or Ctrl + Shift as on Windows. The closest built-in options are the 🌐 key and Caps Lock from the table above.

If you want a single key, Rekey (free, from the author of this guide) switches the layout with a double tap of Shift. In Settings ▸ Manual switch you can change it to a double tap of Control, Option or Command, or to ⌃Space, ⌘Space or ⌥⌘Space.

Fix text typed in the wrong layout

Everyone who types in two languages knows this one: you start typing, forget to switch, and привіт comes out as ghbdsn. macOS has no built-in fix, so you delete the word, switch and type it again.

Rekey does that for you. After each word it checks whether the letters make more sense in another of your layouts. If they do, it erases the word, retypes it in the right layout and switches the keyboard, so you just keep typing. If it guesses wrong, ⌘ + Z within five seconds undoes the fix and Rekey leaves that word alone from then on.

It works with 34 languages across Latin, Cyrillic, Greek, Hebrew, Arabic, Georgian, Armenian and Thai scripts, it is free, and what you type is analysed on your Mac and never sent anywhere. If you used Punto Switcher on Windows, this is the same idea: see Punto Switcher for Mac.

Keyboard language won’t switch?

  • Only one input source. Check Keyboard ▸ Text Input ▸ Edit…: there must be at least two.
  • The shortcut is off or taken. Look in Keyboard Shortcuts… ▸ Input Sources, and check whether the app you are in uses the same keys.
  • A language is dimmed in the Input menu. The current app does not support that input source.
  • You are in a password field. macOS keeps password fields to Latin-script layouts, so Ukrainian or Greek is not available there. This is deliberate.
  • Caps Lock does nothing. The option is off, or both of your languages use the Latin alphabet.
  • Remote desktops, virtual machines and games can capture the keys before macOS sees them. Switch from the Input menu, or inside the remote system.

Change the Mac’s display language instead

Switching the keyboard does not change the language of menus and apps. For that:

  1. Open System Settings ▸ General ▸ Language & Region.
  2. Under Preferred Languages, click + and add the language.
  3. Drag it to the top of the list, then restart the Mac when asked.

To change the language of a single app, use Applications in the same pane: add the app, pick a language, then quit and reopen the app.

FAQ

What is the shortcut to change language on a Mac?

Control + Space switches to the input source you used last; Control + Option + Space steps to the next one. On a keyboard with a 🌐 key you can also set 🌐 to change the input source.

Can I switch keyboard language with Alt+Shift on a Mac?

Not with macOS alone: it does not accept a shortcut made only of modifier keys. Use 🌐, Caps Lock or Control + Space, or a utility such as Rekey, which switches on a double tap of Shift.

Why doesn’t Caps Lock change my keyboard language?

The option has to be turned on under Keyboard ▸ Text Input ▸ Edit…, and it only toggles between a non-Latin and a Latin input source, such as Ukrainian and English.

Can a Mac switch the keyboard language automatically?

macOS can remember an input source per document, but it cannot tell which language you are typing. Rekey adds that: it notices a word typed in the wrong layout, fixes it and switches the layout.

Stop retyping words in the wrong layout

Rekey fixes them as you type, in 34 languages. Free, native, nothing leaves your Mac.

Get Rekey for Mac