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 reviewed over 40 keyboards and below are our top recommendations for the best keyboard for programming to buy in winter 2020. Also see 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 keyboard for programming and coding we've tested so far is the Razer BlackWidow Elite. Our unit features Razer's proprietary Orange mechanical switches, but you can get it with Green (tactile and clicky), or Yellow (linear and silent) switches. The Orange switches have a light tactile bump that feels a lot like Cherry MX Browns, and they provide an excellent typing experience that won't tire you out. Also, they make very little noise, so you can use the keyboard in a quiet office without bothering those around you. If you work long hours and need extra support for your wrists, the keyboard comes with a nice plushy wrist rest that attaches magnetically.
This keyboard has dedicated media controls to adjust the volume, play, pause, or skip tracks. It's compatible with Razer's Synapse 3 software, where you can set macros, reprogram keys, or customize its full RGB backlight. Profiles can be saved within the software or using the keyboard's onboard memory if you need to move to another computer. Unfortunately, while most keys function properly on macOS and Linux, users won't be able to customize the keyboard, as Synapse 3 is only available for Windows. Last but not least, the keyboard has a USB passthrough to let you connect another peripheral or to charge a mobile device, and there's a 3.5mm headphone jack for convenience as well.
On the whole, although this keyboard was designed for gaming, its performance and features should satisfy most programmers.
If you don't need navigation keys and prefer a smaller keyboard than the Razer BlackWidow Elite, check out the Obinslab Anne Pro 2. Its compact size is great for small desks, and since it's a wireless Bluetooth keyboard, it also helps to keep your setup wire-free. It has a remarkable build quality and it has doubleshot PBT keycaps, so you won't have to worry about key legends fading over time. Our unit uses Gatreon Brown switches, which are similar to Cherry MX Browns, but they feel a bit smoother and slightly mushy. Their pre-travel distance is higher than most mechanical switches, which can lead to fewer typos or unintended key presses. That said, you can get the keyboard with different switches that suit your taste. Typing on this keyboard can be a bit fatiguing due to its compact size and high profile, which is why it's rather disappointing that it doesn't come with a wrist rest. Like the Razer, you can set macros, reprogram keys, and customize its RGB backlighting using the Obinskit software. The latter is available for Windows and macOS, and there's onboard memory to save profiles.
Overall, the Razer is a better keyboard for most people, but if you prefer a compact keyboard without navigation keys, go with the Obinslab, one of the best keyboards for programmers.
The best ergonomic keyboard for programming that we've tested so far is the Logitech ERGO K860 Wireless Split Keyboard. This keyboard aims to promote a more natural typing position, which can potentially help those prone to repetitive strain injuries. Its 'dome' design helps to reduce pronation of the forearm, and it has a reverse incline setting to prevent the wrists from bending downwards, resulting in less pressure on the wrists. It also comes with a well-padded and comfortable wrist rest, though it's not detachable. The keyboard's overall build quality is good, but there's no backlighting and the keycaps are pad-printed, which can fade or chip over time with regular use.
Typing on this keyboard feels great; however, it may take some time to get used to its unconventional split-keyboard layout. The scissor switches have a very short pre-travel distance, which can lead to more typos, but the switches have a fairly high actuation force, requiring a more deliberate key press to actuate the keys. One great feature of this keyboard is its multi-device pairing. You can pair the keyboard using its unifying USB receiver, and connect to two other devices at the same time using its Bluetooth connection. Switching between these devices is as simple as a press of a button. Logitech's Options software is available for Windows and macOS, and it lets you reprogram the function keys and save profiles. You can still use the keyboard on Linux, but you won't be able to customize the keyboard and some OS-specific shortcuts won't work.
If you spend most of your day typing and you're worried about repetitive strain injuries, this keyboard may be a good option and is among the best keyboards for programmers.
If you don't like the scissor switches on the Logitech ERGO K860 Wireless Split Keyboard, the Kinesis Freestyle Edge RGB is a great ergonomic mechanical keyboard. It might not have a curved design like the Logitech but this board has a fully split design with two halves that can be positioned however you want. It also comes in a few Cherry MX mechanical switches, so you can choose the ones you like the most. It also has two nice wrist rests on each half of the board, which is very comfortable to type on for hours. Unfortunately, you have to buy the incline settings separately as there are none in the box. This board also features full RGB backlighting, which the Logitech lacks entirely, which is nice if you want to see your keys in a darker environment or if you're working later at night.
The Logitech is a better keyboard overall with great multitasking features, but if you prefer mechanical switches, the Kinesis is a better choice.
The best keyboard for programmers with dedicated macro keys we've tested so far is the Corsair K95 RGB PLATINUM XT. This wired keyboard has a great overall build quality and has better keycaps than the previous Corsair K95 PLATINUM. It now features doubleshot PBT keycaps that should be more durable and last longer without chipping over time. Fans of dedicated macro keys will be happy to use the 6-button column on the left side of the board for quick access to useful commands.
The board is available in Cherry MX Blue, Speed, and Brown switches, so most people should find something to suit their needs. It also comes with a nice detachable wrist rest that has a nice and comfortable plushy cushion. The board also features full RGB lighting, which is great if you like to customize your keyboard's style or if you need to work late at night.
Unfortunately, this keyboard isn't fully compatible with macOS as a few keys don't work on it, although all alphanumerical keys and the dedicated macro keys work. Also, the software isn't available on Linux and the G1-G6 macro keys are disabled by default, so they'll be useless on Linux unless you program them on a Windows or macOS computer first and save your settings on the onboard memory. Overall, this is a great keyboard and should please people that are looking for extra macro inputs.
If you like the Corsair K95 RGB PLATINUM XT's features and dedicated macro keys, but you want something wireless, go with the Logitech G915 LIGHTSPEED. This keyboard also features a column of dedicated macro keys, but it connects through a unifying USB receiver, and it has Bluetooth capabilities as well. This allows the keyboard to be paired with multiple devices at the same time, and you can switch between them with just a press of a button. This keyboard uses low profile proprietary mechanical switches, and you can choose the type of switch that you want: tactile and silent (brown), tactile and clicky (blue), or linear and silent (red). You can set macros directly on the keyboard or use Logitech's excellent G HUB software, and there are dedicated media controls, too. The battery is rated to last up to 30 hours with the backlight at maximum brightness, though this isn't something that we test for.
Overall, the Corsair is a better keyboard and has more programmable keys, but if you want to keep your setup clean and wire-free, go with the Logitech.
The SteelSeries Apex 3 is the best budget keyboard for programming that we've tested so far. It's a full-size keyboard with great build quality, and it comes with a nice magnetic wrist rest for extra support. Every key on this keyboard can be reprogrammed using SteelSeries' Engine software, where you can also customize the RGB backlighting, though it's zone-lit instead of per-key. The downside with this keyboard is that it uses rubber dome switches, which feel rather mushy and don't have satisfying tactile feedback. Also, although you can save profiles within the software, the keyboard doesn't have onboard memory, making it harder to switch to another computer. There's a cloud sync option available, but it requires the software to be installed on the computer as well as an account. If you work on Linux, all keys function properly, however, you won't be able to customize the keyboard in any way.
If you're shopping on a budget and you don't mind the rubber dome switches, this keyboard is a good option that won't break the bank.
03/13/2020: Changed and updated some picks as we reviewed more products. The text has been updated.
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.