A free, open-source macOS utility that switches input sources automatically per app or per browser website.
pqrs-org/Karabiner-Elements
A macOS key remapper that lets you customize keyboard keys, modifiers and shortcuts at the system level.
Open-source alternative to:Karabinerr
- Stars
- 23,062
- Forks
- 958
- Open issues
- 33
- Last commit
- 2 days ago
What is it?
Karabiner-Elements is a key remapper for macOS. It intercepts keyboard input at the system level so you can change what individual keys do, for example turning Caps Lock into another modifier or assigning new behavior to key combinations, without depending on a specific application.
The tool runs background services that handle keyboard events and includes a virtual keyboard driver. Users configure remapping rules, and the project documents how to write them in its online docs. It supports macOS 13 Ventura through macOS 27 on both Intel and Apple Silicon Macs, depending on the release.
The repository also contains the full source for building the macOS package yourself, which requires Xcode, XcodeGen and CMake. Code signing identities are needed, and permissions must be granted again if you switch from the official build to your own.
Key features
- 01Remaps individual keys and key combinations at the macOS system level.
- 02Runs background services that process keyboard events.
- 03Includes a virtual keyboard driver.
- 04Supports both Intel-based and Apple Silicon Macs on recent macOS versions.
- 05Can be installed from the official site or via Homebrew cask.
Use cases
- Turning Caps Lock or other rarely used keys into modifiers or custom shortcuts.
- Creating keyboard layouts or key behaviors that differ between keyboards.
- Building a custom keyboard workflow on a Mac without depending on app-specific settings.
Quick start
- 1
Install Karabiner-Elements with Homebrew
brew install --cask karabiner-elements - 2
Or download the app from the official site
Things to know
- Only runs on macOS, supporting macOS 13 Ventura and later.
- Building from source requires Xcode 26+, macOS 15+, and a code signing identity.
In collections
Topics
FAQ
- What is Karabiner-Elements?
- A macOS key remapper that lets you customize keyboard keys, modifiers and shortcuts at the system level. Karabiner-Elements is a key remapper for macOS. It intercepts keyboard input at the system level so you can change what individual keys do, for example turning Caps Lock into another modifier or assigning new behavior to key combinations, without depending on a specific application.
- Is Karabiner-Elements free to use? What license does it have?
- Karabiner-Elements is open source under the Unlicense license. Check the license terms before using it in commercial products.
- Is Karabiner-Elements still maintained?
- Actively maintained. The last commit to Karabiner-Elements was on Nov 5, 2026.
- What can I use Karabiner-Elements for?
- Turning Caps Lock or other rarely used keys into modifiers or custom shortcuts. Creating keyboard layouts or key behaviors that differ between keyboards. Building a custom keyboard workflow on a Mac without depending on app-specific settings.
- How do I install Karabiner-Elements?
- Install Karabiner-Elements with Homebrew: brew install --cask karabiner-elements Or download the app from the official site
- Where can I get Karabiner-Elements?
- The source code and installation instructions are on GitHub: https://github.com/pqrs-org/Karabiner-Elements
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A native macOS menu-bar app that locks your keyboard input source globally, per app, or per browser URL.
An Android app that remaps buttons on phones, game controllers, keyboards and mouse, and builds custom macros and on-screen buttons.
AeroSpace is an i3-like tiling window manager for macOS, configured through a plain text file and driven from the command line.
A cross-platform text expander written in Rust that replaces typed keywords with snippets, emojis, dates, or script output.
A cross-platform keyboard remapper for Linux, macOS and Windows that adds layers, tap-hold, macros and Unicode output to any keyboard.