Remapping Caps Lock to Ctrl. Putting Cmd where Alt is on a Windows keyboard. Building a home-row modifier layer for one-handed shortcuts. A dedicated keyboard remapper does all of it, without touching the hardware. The seven picks below cover Windows, macOS, and Linux across free and paid tiers.
What to look for in a keyboard remapper
The right pick depends on how deep you plan to go. Weigh these first:
- Per-key remap vs full layers. Some tools swap single keys; others let you define whole alternate layers (like a coder’s Colemak overlay).
- Hotstrings and macros. Type
btwand get “by the way”, or press F14 to run a script. - App-specific rules. Different bindings inside Photoshop, VS Code, or a browser.
- Persist vs runtime. Some remaps write to the OS keyboard layout (persist across boot with no daemon); others need a background process.
- Security posture. Keyboard remappers see every keystroke. Open source matters more here than in most utility categories.
Quick comparison
| App | Best for | Platforms | Free | Layers | Scriptable |
|---|---|---|---|---|---|
| AutoHotkey | Windows scripting depth | Windows | Yes | Yes | Yes |
| PowerToys Keyboard Manager | Zero-friction key swap on Windows | Windows | Yes | No | No |
| SharpKeys | Persistent registry swaps | Windows | Yes | No | No |
| Karabiner-Elements | macOS power user | macOS | Yes | Yes | Yes (JSON) |
| kanata | Cross-platform home-row mods | Windows, macOS, Linux | Yes | Yes | Yes |
| keyd | Linux daemon for full layers | Linux | Yes | Yes | Yes |
| Kinto | Mac-style shortcuts on Linux/Windows | Windows, Linux | Yes | Preset | No |
1. AutoHotkey, best Windows scripting depth
AutoHotkey is the veteran of Windows remapping and automation. It is a scripting language: write a .ahk file that says CapsLock::Ctrl, and Caps Lock now sends Ctrl. It also handles hotstrings, window automation, GUI dialogs, and mouse actions.
The reason to pick it is depth. Anything you can imagine doing to a keystroke, AutoHotkey does. The community writes scripts for text expansion, window snapping, clipboard managers, and full launcher tools.
Where it falls short: Scripts are the interface. If you do not want to write code, PowerToys Keyboard Manager or SharpKeys are easier. AHK 2.0 syntax broke backward compatibility with AHK 1.1 scripts.
Pricing: Free and open source (GPLv2).
Platforms: Windows 7 through 11.
Download: autohotkey.com · GitHub
Bottom line: The default on Windows for anyone comfortable writing a few lines of script.
2. PowerToys Keyboard Manager, best zero-friction Windows
Microsoft’s Keyboard Manager in PowerToys is the simplest way to swap keys on Windows. Open PowerToys, pick “Remap a key”, and drop a source and target. Done. No script, no reboot.
If you already run PowerToys, Keyboard Manager gives you basic remaps without installing anything extra. It also remaps shortcuts (Ctrl+C to Ctrl+Insert, for example) and can scope remaps to a specific app.
Where it falls short: No macros, no hotstrings, no layers. It stops at “one key becomes another key”.
Pricing: Free (MIT).
Platforms: Windows 10, Windows 11.
Download: Microsoft Store · GitHub
Bottom line: The default on Windows for single-key swaps. Move to AutoHotkey when you need more.
3. SharpKeys, best persistent registry remaps on Windows
SharpKeys writes remaps directly into the Windows Registry Scancode Map. That means the remap survives reboots, works before login, and does not need a background process. It is the right tool if you want to permanently retire the Caps Lock key.
The interface is a plain list of “map from” and “map to” pairs. No scripting, no macros. Save, reboot, done.
Where it falls short: No conditional rules. No macros. Requires reboot to apply changes.
Pricing: Free and open source (MIT).
Platforms: Windows.
Download: Microsoft Store · GitHub
Bottom line: The pick when you want the remap to live in the OS, not a running app.
4. Karabiner-Elements, best macOS power tool
Karabiner-Elements is the standard macOS remapping tool. It handles per-key remaps, complex modifications through JSON rules, and full layer stacks. The community publishes a large complex-modifications library you can import with one click.
Home-row mods (turn A, S, D, F into modifier keys when held) are one of the community’s favorite patterns and Karabiner is the tool most tutorials assume.
Where it falls short: Complex modifications require reading JSON. GUI covers the basics but power features live in the config file.
Pricing: Free and open source (Unlicense).
Platforms: macOS 12 and later.
Download: karabiner-elements.pqrs.org · GitHub
Bottom line: The default on macOS.
5. kanata, best cross-platform layers
kanata is a Rust remapper that runs on Windows, macOS, and Linux with the same config file. It defines full layers: tap a key for X, hold it for Y, hold with another key for Z. Home-row modifiers, dual-role keys, tap-dance patterns, and macros all live in one text file.
If you use more than one OS and want the same layout everywhere, kanata is the pick because the config is portable.
Where it falls short: No GUI. Config is a lispy DSL that takes a day to learn.
Pricing: Free and open source (LGPLv3).
Platforms: Windows, macOS, Linux.
Download: GitHub
Bottom line: The best pick when portability across OSes matters as much as depth.
6. keyd, best Linux daemon
keyd is a Linux-only keyboard remapper that runs as a daemon and reads config from /etc/keyd/. It supports layers, dual-role keys, hotstrings, and application-specific rules. Because it runs at the kernel input layer, remaps work in every application and across every desktop environment.
For Linux users who want QMK-style firmware behavior on any keyboard, keyd is the standard pick.
Where it falls short: Linux only. Config is text-file only. No GUI.
Pricing: Free and open source (MIT).
Platforms: Linux.
Download: GitHub
Bottom line: The default on Linux for full-layer remapping.
7. Kinto, best “make Windows or Linux feel like macOS”
Kinto is a preset-driven remapper for Windows and Linux that ships one job: make your Ctrl-heavy Windows shortcuts behave like macOS’s Cmd shortcuts. Cmd+C copies, Cmd+Tab switches windows the Mac way, Cmd+Q quits.
Developers who switch between a Mac laptop and a Linux desktop pick Kinto to keep muscle memory intact.
Where it falls short: Not a general-purpose remapper. The remaps it applies are Kinto’s presets, though the underlying config is editable.
Pricing: Free and open source (GPLv3).
Platforms: Windows, Linux (X11 and Wayland).
Bottom line: The pick when you want Mac shortcut muscle memory on Windows or Linux.
How to pick
- On Windows, single-key swaps: PowerToys Keyboard Manager or SharpKeys.
- On Windows, scripting and macros: AutoHotkey.
- On macOS: Karabiner-Elements.
- On Linux: keyd.
- Same config across OSes: kanata.
- Want Mac shortcuts on non-Mac: Kinto.
FAQ
What is the best free keyboard remapper for Windows?
For single-key swaps, PowerToys Keyboard Manager. For scripting and macros, AutoHotkey. Both are free.
Can I remap Caps Lock to Ctrl on macOS without an app?
Yes. System Settings, Keyboard, Modifier Keys, and pick Ctrl as the Caps Lock action. Karabiner adds everything beyond that basic case.
Is AutoHotkey safe?
Yes. It is open source and widely audited. Scripts you download from strangers are the concern, not the tool itself. Read a script before running it.
Can I remap a laptop’s built-in keyboard?
Yes, every tool in this list works on laptops. The remap is at the OS level, not the hardware, so any USB or built-in keyboard is remapped identically.
What about programmable keyboards like QMK or VIA?
If your keyboard supports QMK or VIA firmware, remap at the firmware layer. It survives OS reinstall, works before login, and does not need a daemon. Software remappers are the answer only when firmware remap is not an option.