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 80 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 keyboard for programming we've tested is the Razer BlackWidow Elite. Our unit features Razer's proprietary Orange mechanical switches, but you can get it with clicky or linear 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.
If you work long hours and need extra support for your wrists, it comes with a nice plushy wrist rest that attaches magnetically. It also 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 backlighting. Profiles can be saved within the software or using the keyboard's onboard memory if you need to move to another computer.
Unfortunately, Synapse 3 is only available for Windows, and not macOS or Linux. Additionally, it has a USB passthrough to let you connect another peripheral or to charge a mobile device, and there's a 3.5 mm headphone jack for convenience. On the whole, although it was designed for gaming, but its performance and features should satisfy most programmers.
If you're looking for a smaller option for programming, then the Obinslab Anne Pro 2 is an excellent alternative. Without a wrist rest, it doesn't have as good ergonomics as the Razer BlackWidow Elite, but it's wireless, so your desk will be a bit cleaner without the extra wires. The unit we tested offers an outstanding typing experience with the Gateron Brown switches, but it's available with a variety of switches, so you can get the switch you feel most comfortable with. It has an amazing build quality with durable double-shot PBT keycaps, but unfortunately, the small size may cause some fatigue when typing. However, it has full RGB lighting, and every key is macro-programmable through the ObinsKit software, which is compatible with Windows, macOS, and Linux computers.
If you're looking for the best keyboard for programming, then the Razer is a great choice, but if you prefer something smaller, the Obinslab is an excellent alternative.
The best ergonomic keyboard for programming that we've tested is the Kinesis Freestyle Edge RGB. This wired, TenKeyLess mechanical 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. While there are no incline settings, it does have a plushy detachable wrist rest, and you can split it in half and position them as you wish.
It has a very light typing experience due to the Cherry MX Brown switches. They offer a small amount of tactile feedback and have a little bump to get over for the keys to actuate while also being quiet and shouldn't be too noisy for those around you. You can customize the RGB lighting and program macros from 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. Furthermore, if the lack of inclination isn't comfortable for you, you'll have to get a 'Lift Kit,' which is sold separately. That being said, if you don't like the tactile feedback of the keys, it's also available with Cherry MX Linear Red, Clicky Blue, and Linear Speed Silver switches. Overall, this is great for programmers and one of the best mechanical keyboards we've tested.
If you want an ergonomic keyboard with even more customization options, then check out the ErgoDox EZ. It's more expensive than the Kinesis Freestyle Edge RGB, but it's one of the most customizable boards we've tested. You can purchase it in a wide variety of switches, with RGB backlighting, or without a lift kit or the wrist rests. Our unit comes with a ton of blank keycaps, so you can set them to do whatever function you want, but when you first get this keyboard, it's going to take some time to adapt to its truly unique design and layout. The companion software isn't your typical software, as you need to export a .hex file and reset the board every time you want to install a different layout, which isn't convenient for everyone. However, it's fully functional on Windows, macOS, and Linux. Furthermore, this keyboard is only available to purchase from the ErgoDox Ez's website.
Overall, if you're looking for the best keyboard for programmers with an ergonomic, split design, check out the Kinesis, but if you don't mind spending more and getting a highly customizable option, check out the ErgoDox.
The best keyboard for programming with macro keys that we've tested is the Corsair K95 RGB PLATINUM XT. This wired, full-sized mechanical option is a great choice for programmers. It's made with a metal top plate and a plastic base that produces just a bit of flex. The stable keys and made of double-shot PBT plastic while the straight design, plushy wrist rest, and singular incline setting provide a comfortable typing experience.
It uses clicky Cherry MX Blue switches that provide good tactile feedback and have short pre-travel distance that also requires a lot of force to actuate, which should help keep typos down. It's compatible with the iCUE software, allowing you to customize the RGB backlight. There is onboard memory for up to five profiles, with the option to save even more to the software itself.
Unfortunately, while it's partially compatible with Linux, iCUE isn't, so the G1-G6 keys are disabled by default unless they're programmed elsewhere first. Furthermore, due to the high actuation force needed, typing may become tiring while the clickiness of the keys may be too loud for an office environment. That being said, it's also available with MX Speed for linear feedback and MX Brown switches for tactile and silent feedback. Overall, if you want a great keyboard for programming with dedicated macros, this is the best one we've tested.
If you prefer having a wireless keyboard with extra macro keys, the Logitech G915 LIGHTSPEED is a good choice. The typing quality isn't nearly as good as the Corsair K95 RGB PLATINUM XT, but it has multi-device pairing with up to two devices, and it's easy to switch between devices. Each key is individually lit, and you can customize the RGB lighting on a per-key basis through the user-friendly G HUB software. Unfortunately, you can't set macros to any key, but rather just the five dedicated macro keys on the left side. However, it has a great build quality, and the whole thing feels solid.
If you're looking for the best programming keyboard with macro keys, consider the Corsair, but if you prefer a wireless one, look into the Logitech.
The best keyboard for coding in the budget category is the Razer BlackWidow Lite. It's a mechanical option with white backlighting, ideal for those programming sessions at night in dark rooms. It's available in either a black or white frame, and our unit is white, so the backlighting stands out a bit more.
It comes with proprietary Razer Orange switches, which have a low pre-travel distance and offer good tactile feedback, similar to Cherry MX Brown switches. It comes with O-rings you can add to reduce the noise, making it very quiet if you work in an office environment. The overall typing quality is excellent, but without a wrist rest and due to the higher profile of the keys, typing could get tiring. There aren't any dedicated macro keys, but you can still set macros to any key through the Razer Synapse software, which is only available on Windows.
Unfortunately, even though it's fully compatible with Linux, the software isn't, and there's no onboard memory, so you can't use it with macros on this operating system. A few keys don't work on macOS either, but it's fully compatible with Windows. All in all, this is a keyboard that won't cost you much, and most programmers should be happy with it.
09/18/2020: Updated text for clarity and structure, no changes in product picks.
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.