For a lot of programmers, having a good keyboard can significantly improve workflow. Spending countless hours typing requires a keyboard that's comfortable to type on, switches that feel light and responsive, and features such as programmable keys. Some of our recommendations are primarily gaming keyboards, but as it turns out, gamers and programmers have very similar needs.
We've tested over 110 keyboards, and below are our top recommendations for the best keyboards for programming. Also, make sure to check out our recommendations for the best keyboards, the best wireless keyboards, and if you type more than you program, check out the best keyboards for writers.
The best full-sized keyboard for programming that we’ve tested is the Razer BlackWidow Elite. This wired-only model offers excellent typing quality, with very stable keys and good spacing between them to help reduce typos. The build quality is amazing, as it feels solid and doesn’t have too much flex to it, though the spacebar is a bit wobbly. It also has good ergonomics, thanks to the two incline settings and detachable wrist rest.
Our unit has proprietary Razer Orange switches, which are fairly quiet and provide great tactile feedback. It's also available with clicky Razer Green or linear Razer Yellow switches. All variants have full RGB backlighting with individually-backlit keys, which is useful if you work in a dark environment, and all the keys are macro-programmable. The companion software is fantastic and lets you easily customize a lot of settings to your liking.
Unfortunately, the software isn’t available on macOS and Linux, so you can't customize your keyboard on these platforms. Also, the Scroll Lock and Pause Break buttons don’t work on macOS, but all keys work as intended on Linux. That said, it's a great choice if you’re looking for a full-sized programming keyboard, and it’s one of the best keyboards we’ve tested.
The best keyboard for programming that we’ve tested in a compact size is the Obinslab Anne Pro 2. This 60% model takes very little space on your desk and leaves plenty of room for your mouse. Its build quality is excellent, and even though it's entirely made of plastic, it feels very solid and durable overall. It also has full RGB backlighting, so you can easily work in the dark.
It can be used wired or wirelessly via Bluetooth, and you can pair it with four different devices simultaneously. All of its keys are macro-programmable within the companion software, which gives you plenty of customization options and is compatible with both Windows and macOS. It's available in a wide variety of switches, allowing you to choose between Cherry MX, Gateron, or Kailh switches to better suit your needs.
Unfortunately, its ergonomics are rather mediocre, due to the lack of a wrist rest and incline settings. Because of that, it could cause some fatigue during long typing sessions. It has a fairly limited amount of extra features and doesn't have dedicated arrow keys, which could be a deal-breaker for some people. That said, this is an excellent compact keyboard with plenty of customization options to suit your preferences.
The best keyboard for coding with an ergonomic design that we've tested is the Kinesis Freestyle Edge RGB. This TenKeyLess model has a fully split design that allows you to position each half exactly the way you want. It also comes with detachable wrist rests for both halves, and you can buy a 'Lift Kit' separately if you want to adjust the incline settings. It has good build quality, with stable keys and keycaps that feel nice to the touch.
It has hotkeys for media control, and you can remap all of its keys, whether directly on the board or using the companion software. There are also a few dedicated macro keys on the side. Our unit uses Cherry MX Brown switches, which offer a light typing experience with subtle tactile feedback, but it's also available with Cherry MX Red, Blue, or Speed Silver if you prefer. It's fully compatible with Windows and Linux, and only the 'Pause' button isn't working on macOS.
Unfortunately, it may take you a while to get used to the split design, and the fact that there aren't any incline settings included could bother some people. It can't be used wirelessly, and it lacks some extra features like a USB passthrough or a Windows key lock. That said, it's great for programmers, and it's one of the best mechanical keyboards we've tested.
The best keyboard for programmers with dedicated macro keys that we've tested is the Corsair K100 RGB. This wired-only mechanical model feels very well-built, as it's made of solid plastic with a metal top plate. It also has doubleshot PBT keycaps that feel stable and nice to type on, and the ergonomics are good thanks to the padded wrist rest and adjustable incline setting.
The Cherry MX Speed switches on our unit feel very light and responsive, and they provide an excellent typing experience that shouldn’t cause much fatigue. The keyboard features a row of dedicated macro keys on the left side, and you can also set a macro to any key you want, including the volume wheel, profile switching button, and media keys. You can customize it to your liking in the Corsair iCUE software, along with the full RGB backlighting.
Unfortunately, because the switches don't give any feedback and have very short pre-travel, it may cause you to make more typos, and even though it's also available with Corsair OPX optical switches, these are advertised to have an even shorter pre-travel distance. Also, some keys don’t work on macOS, but at least the companion software is available on it. All in all, it's the best keyboard for programmers with macro keys that we've tested.
If you’re looking for a wireless option with dedicated macro keys, check out the Logitech G915 LIGHTSPEED. It doesn't have a wrist rest, and the typing quality isn’t nearly as good as the Corsair K100 RGB, but you can use it wirelessly via Bluetooth or its USB receiver, and you can pair it with up to 2 devices at the same time. It comes with an excellent set of extra features like media controls, a scroll wheel, and five dedicated macro keys that are easily programmable. We tested the GL tactile switches, which only offer a reasonable typing experience, but this will likely change with other variants as it’s also available with clicky or linear switches. The companion software is compatible with both Windows and macOS, and the keyboard has great compatibility with most operating systems.
If you’re looking for a very well-built wired keyboard with excellent typing quality, get the Corsair, but if you prefer a wireless option with multi-devices pairing, check out the Logitech.
The best keyboard for programming that we've tested in the budget category is the Razer BlackWidow Lite. This TenKeyLess mechanical model feels very well-built. It has white backlighting to help you see better in a dimmer room, and you can adjust the brightness level directly on the keyboard. Also, even though it's a wired-only model, the cable can be detached in case it needs to be replaced or if you prefer to use your own.
It's only available with tactile Razer Orange switches. They have a short pre-travel distance, resulting in a very light and responsive feel, and provide nice tactile feedback when a key is registered. They're fairly quiet to type on, and they should be even more silent if used with the included O-rings. Although it doesn't have dedicated macro keys, all of its keys are programmable, so you can set them to do almost any task you need.
Unfortunately, due to the keys' high profile, it might feel quite tiring to type on, especially since it has a very small incline setting and no wrist rest. Also, the companion software doesn't offer much in terms of customization other than setting macros, and it isn't compatible with macOS or Linux. Nevertheless, this is a great option for its price point, and it's among the best cheap mechanical keyboards we've tested.
Mar 16, 2021: Verified that picks were still available and updated text for more clarity.
Jan 15, 2021: Removed the wireless alternative for the best full-size keyboard, the Razer Pro Type, and moved it to notable mentions. Replaced the Corsair K95 RGB PLATINUM XT by the Corsair K100 RGB as the best programming keyboard with macro keys.
Nov 17, 2020: Added the Razer Pro Type as a 'Wireless Alternative' to the SteelSeries Apex Pro, and added Obinslab Anne Pro 2 as the 'Best Compact Keyboard For Programming'. Moved ErgoDox EZ to Notable Mentions.
Jul 21, 2020: Added the Kinesis Freestyle Edge RGB and removed the Logitech K860; replaced the SteelSeries Apex 3 with the Razer BlackWidow Lite; moved the ErgoDox EZ to 'Ergonomic Alternative'.
Apr 27, 2020: Moved the ErgoDox EZ to the main ergonomic pick, and put the Logitech K860 as the alternative.
Our recommendations above are what we think are currently the best keyboards for programming for most people. We factor in the price, feedback from our visitors, and availability.
If you would like to do the work of choosing yourself, here is the list of all our keyboard reviews. Be careful not to get too caught up in the details. While no keyboard is perfect for every use, most are good enough to please almost everyone, and the differences are often not noticeable unless you really look for them.