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 105 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. The Elite is also available with clicky Razer Green or linear Razer Yellow, in case you prefer these kinds of 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 also 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 won’t be able to 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, the Razer is a great choice if you’re looking for a full-sized programming keyboard, and it’s also one of the best mechanical keyboards we’ve tested.
The best compact keyboard for programming that we’ve tested is the Obinslab Anne Pro 2. This 60% model takes very little space on your desk and feels very solid and well-built. You can use it wired or wirelessly with Bluetooth, and it can pair with up to four devices simultaneously, which is great if you work with multiple devices at once. It also has fully customizable RGB lighting with individually-lit keys, so you can easily use it in darker environments.
It's available in a very wide variety of switches, though we only tested the Gateron Brown ones, which give a good amount of feedback without being too loud. It also offers excellent typing quality, but it may take you some time to get used to its compact and rather dense design. All the keys are macro-programmable within the companion software, ObinsKit, which gives you plenty of customization options and is compatible with both Windows and macOS.
Unfortunately, the ergonomics are mediocre, as there’s no wrist rest or incline settings, and the design may feel a bit cramped and could cause some muscle fatigue after long typing sessions. Also, keep in mind that due to its compact size, there isn’t a NumPad or any dedicated arrow keys, which could be problematic for some people. Nevertheless, this is an excellent programming keyboard with plenty of customization options to suit your needs.
The best keyboard for coding with an ergonomic design that we've tested is the Kinesis Freestyle Edge RGB. This wired, TenKeyLess option has excellent ergonomics that make it great for programmers. It has a good build as the textured keys are very stable, and there's no flex to the frame. It comes with a plushy detachable wrist rest, and you can split the board in half and position each part as you wish.
It offers a very light typing experience thanks to the Cherry MX Brown switches. They give a small amount of tactile feedback and have a little bump to get over for the keys to actuate. They're also quiet and shouldn't bother those around you. That said, if you don't like the tactile feedback of the keys, it's also available with Cherry MX linear Red and silver or clicky Blue switches. You can customize the RGB lighting and program macros within the RGB SmartSet companion software. The keyboard itself is fully compatible with Windows and Linux, with only the 'Pause' button not working on macOS.
Unfortunately, the split design does take a while to get used to and isn't for everyone. Also, if the lack of inclination isn't comfortable for you, you could get a 'Lift Kit,' but it's sold separately. If you prefer a more customizable split design model and a vast choice of incline possibilities, check out the ErgoDox EZ, but keep in mind that it's more expensive. Overall, the Kinesis is 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, and has doubleshot PBT keycaps that feel stable and nice to type on. It also has good ergonomics thanks to the padded wrist rest and adjustable incline setting.
The Cherry MX Speed switches on our unit feel very light and responsive while also providing an excellent typing experience that shouldn’t cause much fatigue. It 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 low 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 lower pre-travel distance. Also, some keys don’t work on macOS, but at least the companion software is available on it. All in all, the Corsair is 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. The G915 is a good option for programming as it comes with an excellent set of extra features such as media controls, a scroll wheel, and five dedicated macro keys that are easily programmable. However, keep in mind that you can’t set macros to any other keys. We tested the GL tactile switches, which only offer a reasonable typing experience, though 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, with only a few keys not working properly on macOS, iPadOS, and iOS.
If you’re looking for a very well-built wired keyboard with dedicated macro keys, get the Corsair, but if you prefer a wireless option with multi-devices pairing, check out the Logitech.
The best keyboard for coding that we've tested in the budget category is the Razer BlackWidow Lite. This TenKeyLess mechanical model feels very well-built and has minimal flex. It has a bright white backlight to help you see the keys better in a dimmer room, and you can adjust the brightness level directly from the keyboard. Since it's a wired-only model, it doesn't have any wireless compatibility, but 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 Razer Orange tactile switches, which feel very similar to Cherry MX Browns. They have a low pre-travel distance and actuation force, resulting in a very light and responsive feel, and the switches 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 high profile of the keys, it might feel quite tiring to type on, especially since it has a very small incline setting and no wrist rest. Its 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.
01/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.
11/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.
07/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'.
04/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.