Per-app keyboard input on macOS
Set a different input source for each app on Mac
If your Mac day mixes coding in English with messaging, writing, or research in another language, one global keyboard layout is not enough. InputSwitcher lets you assign one default input source per app so the right language follows the app you are using.
Why multilingual Mac users search for this
- • You switch from coding to chat and immediately type in the wrong language.
- • You keep hitting the macOS shortcut just to recover from app changes.
- • You want one default input for each app, not one global input for the whole Mac session.
- • You lose focus correcting gibberish in Terminal, search bars, forms, and messages.
Short answer
macOS does not give most users a clean built-in way to keep a different keyboard language for each app automatically.
InputSwitcher fills that gap: set one rule per app, then let the active app decide whether your keyboard should be English, Chinese, Japanese, Korean, or another input source.
What per-app input switching looks like in real life
The main goal is simple: each app opens with the input source that best matches the task, so you stop correcting yourself after every context switch.
Developer setup
ABC / English
VS Code, Cursor, Xcode, Terminal
Commands, code, file paths, and shortcuts stay predictable while you work.
Team communication
Chinese, Japanese, Korean, or another preferred language
Slack, Telegram, WeChat, Messages
Replies are ready in the language you actually use with teammates, clients, or family.
Research and writing
Depends on the task
Safari, Chrome, Notes, Google Docs, Notion
Switch between reading, drafting, and note capture without checking the menu bar every time.
Is this page the right next step?
Download now if
- • you already know wrong-language typing is interrupting coding, chat, or writing on your Mac
- • you want to test per-app input switching immediately in 1–3 important apps
- • you prefer validating the workflow on your own Mac before deciding about Pro
Check pricing first if
- • you already expect to need separate rules across coding, chat, browser, docs, and admin tools
- • the 3-rule free limit already sounds too narrow for your daily workflow
- • you care about unlimited rules, visual confirmation, and backup/export before installing
How to set a different keyboard language for each app on Mac
- 1
Download InputSwitcher and move it to Applications.
- 2
Grant Accessibility permission so the app can detect active-app changes and switch input sources.
- 3
Create rules like VS Code → ABC, Terminal → ABC, WeChat → Pinyin, Messages → Japanese, or any setup that matches your workflow.
- 4
Use your Mac normally and let the input source follow the app context automatically.
Why this matters
You remove a tiny but repeated source of friction
Manual input switching feels small until it happens dozens of times a day. The cost is not just one shortcut. It is broken attention, wrong-language typing, corrections, and hesitation every time you move between app contexts.
Per-app input rules make the Mac feel more aligned with how multilingual work actually happens: code here, chat there, notes somewhere else, each with its own language expectation.
Typical first setup
Terminal / VS Code / Cursor / Xcode → ABC or English
Slack / Telegram / WeChat / Messages → your communication language
Browser / Notes / Docs → whatever language best fits the task
Choose the next page that matches your buying stage
This per-app guide works best as a high-intent entry page. From here, the next step depends on whether you want hands-on validation, a fuller feature review, or a direct Free-vs-Pro decision.
Download InputSwitcher
Best if you want to test app-based input switching on your Mac right away.
Go to downloadSee feature details
Best if you want a fuller view of fallback rules, menu bar controls, and Pro-only controls.
View featuresCompare Free vs Pro
Best if you already know your multilingual workflow spans many apps and want the buying decision fast.
View pricingReady to stop switching keyboard input manually?
Download InputSwitcher, assign one input source per app, and let your Mac switch automatically when your context changes.