Karabiner-Elements
public-domain keyboard remapper that works below the app layer
Open source
It installs a DriverKit virtual keyboard extension, which you have to approve in System Settings and which occasionally needs an update right after a new macOS release. The preferences window covers simple swaps; everything beyond that is a "complex modification" you import from the community rules list or write by hand in JSON, and there is no visual editor for it. Keyboards only, so mice, trackpads and application automation are out of scope.
Karabiner-Elements sits below the application layer, which is exactly why it can do things a hotkey utility cannot. It sees a key event before any app does, so Caps Lock can become a hyper key, one physical key can behave differently tapped than held, and a cheap external keyboard can get its own remapping while the built-in one stays untouched. A great many elaborate Mac keyboard setups have this as their foundation.
Getting there involves JSON. The preferences window handles straight swaps, but anything worth having is a complex modification, which you either import from the community rules list or write yourself in the config file. There is no rule builder and probably never will be one.
The licence is the Unlicense, a public-domain dedication rather than merely a free download, so nothing can expire and there is no vendor to outlive. The developer accepts optional sponsorship and asks for nothing else. The real cost is a driver extension you must approve in System Settings, plus the habit of checking for an update before installing a new major macOS version, because a tool that operates this close to the kernel is precisely what a new OS tends to break.
If all you want is Caps Lock remapped to Escape, macOS has done that in Keyboard settings for years.
What it looks like

What it does
- Per-device remapping, so an external keyboard can differ from the built-in one
- Complex modifications including tap-versus-hold and hyper keys
- Rewrites key events below the application layer, so rules apply everywhere
- Public domain (Unlicense), nothing to buy or renew
- Lineage back to the original Karabiner in 2006
Also bought outright in automation
The facts
- Price
- Free
- Licence
- Free and open source
- What you get
- No licence to buy, and the source is public.
- Details
- Free. The developer's own pricing page states that Karabiner-Elements can be used without any purchase, and offers only voluntary GitHub Sponsors or PayPal support. The repository licence is the Unlicense, a public-domain dedication.
- Free trial
- No
- On Setapp
- No
- Minimum macOS
- not stated
- Developer
- Takayama Fumihiko
- Source
- Repository
- Price checked
- 2026-09-22
Check it yourself - Price band
- Free