Every programmer starts with whatever keyboard is at hand, nowadays probably the one on your laptop. However, once you start making a living punching keys to write code, you will want to invest in a decent keyboard. A keyboard for programmers is one that first and foremost has the "right" feel to your typing style, one that lets you type fast and comfortably.
The more comfortable a programmer is with his keyboard, the more productive they'll be by typing hotkeys without making mistakes while minimizing mouse usage. More advanced programmers will crave a keyboard that they can reprogram too: there are ones with special keys that you can configure to launch selected apps or actions. Ideally, it also has to be one that keeps you healthy, so you should consider an ergonomic keyboard option if you spend the day typing like there's no tomorrow.
What’s inside a keyboard anyway?
Just reading reviews of keyboards these days the uninitiated can feel overcome with jargon anxiety. Worry not, what you need to know are the basic technologies used by modern PC keyboard designs: membrane, rubber dome, and mechanical keyboards. Membrane based keyboards are the cheapest to manufacture and the ones with a rubbery feeling. Membrane keyboards are also inexpensive and disposable since they're not built to last.
Most laptop keyboards have a scissor mechanism on the keycaps, on top of rubber domes, on top of a membrane. In other words, when you hear the term "membrane keyboard," it's usually a rubber dome. These keyboards are also silent which makes them good in certain situations, but they won't last as long and -with very few exceptions- they provide little or no customization.
With a mechanical keyboard, you have a separate switch below every key, which means the whole mechanism is more reliable and you can type much more comfortably by having better tactile feedback, improving your mood and making long coding sessions less stressful and more enjoyable. On top of that you get tons of customization options, from easily replaceable keycaps to programmable function special keys.
It will be no surprise then that we picked mechanical keyboards for many categories: their lifespan is measured in decades not years, and provide you with the ability to exchange keycaps, change switches for a different tactile feeling, and a choice of noise levels based on the different types of mechanical switches.
There are no two programmers that are identical: coders are used to modifying everything and pushing the limits in the virtual world. Now thanks to the Mountain Everest Max keyboard, they can achieve customization nirvana in the physical world too.
This keyboard pushes the envelope and innovates in areas where others have never ventured, starting with its most noticeable feature: the numeric keypad is detachable and can be placed on either side of the keyboard. The keycaps are replaceable with the included keycap puller tool and you can choose your favorite type of MX switches at purchase with MX Red, MX Brown, MX Blue, MX Silent Red and MX Speed Silver available. However, you can also swap switches by just pulling them out -no soldering required- if you're unhappy with the stock ones for whatever reason.
What Mountain appropriately calls the "media dock" is what it sounds like -a tiny keyboard plugged atop the top right corner. It features a display dial for changing its configuration on the fly. On its tiny display you can see useful information like CPU usage or download speed, and display a custom image uploaded by you as a “screen saver” when idle. Its media buttons allow changing the system's sound volume or switching songs in the middle of a coding session
The "Base Camp" software includes a Macro Wizard and editor, allowing you to bind custom keys to your favorite hotkeys or macros. It also allows upgrading the keyboard's firmware and changing its RGB lighting, plus customizing the legends on the graphics keys.
For those long coding sessions, its PU-Leather covered palm rest with magnetic attachment is a godsend. Yes, it's pricey, but it's totally worth it.
Read the full review: Mountain Everest Max
Standard keyboards can lead to pain and fatigue over the long term as well as nasty ailments. By allowing your hands to rest in a more relaxed position, ergonomic keyboards prevent strain and injuries. There are several ergonomic designs, with the fixed ones being the largest. Split ergonomic keyboards take up less space and give you more freedom to adjust the position of your left and right arms when typing on a desk. They also allow you to keep your wrists straight, which reduces strain on the tendons, which prevents repetitive strain injuries (RSI).
The Kinesis Freestyle Pro combines a tenkeyless layout with a full row of function keys at the top and eight programmable macro keys at the left. As a mechanical keyboard, it features Cherry MX switches in two varieties: there's a version of this keyboard with Cherry MX Brown tactile switches with no click and another with Cherry MX Red linear switches -those preferred by gamers. It supports three key layouts: Windows, Mac, and Dvorak. Keycaps are included for Mac such as control, option and command keys, which replace the Windows and alt keys.
Tenting or lifting the middle part of the keyboard to get a more comfortable typing position is supported, and programmers will appreciate the location of the Home, Page Up and Down, End and Arrow keys. The big Escape button is just the cherry on top. The left-side macro keys on this keyboard come preprogrammed with several useful functions, such as the Desktop key that sends Windows-D to minimize all apps and show your desktop, or the Last App key that sends an Alt-Tab back to your last open application. Additionally, there are dedicated keys for Cut, Copy, Paste, Delete, Undo, and Menu.
Those who prefer a smaller keyboard that is easier to carry can benefit from a tenkeyless version. The Glorious GMMK Pro comes in all three popular sizes: Full, Tenkeyless and Compact (61-key). We chose this version without a numeric keypad because it provides a balance of keys that programmers seek. The only difference between the three is the number of keys, but all share a beautiful design and technical aspects.
It's beauty is striking with an aluminum case that has a rich, sandblasted finish with raised keycaps. It is equipped with Gateron brown switches which are similar to Cherry Brown switches. The ability to customize the keyboard is paramount: you can not only swap out the keycaps, but the switches as well. You can install any Cherry, Gateron or compatible switches and mix them if you want. As its braided cable is removable, it is easy to tuck into your backpack if necessary.
Using the manufacturer's software, you can edit macros on the entire keyboard and customize the RGB lighting, but it is not required for operation. Most settings can be changed by using hotkeys with the Fn key. For instance, hitting Fn + Tab will switch the backlight on and off. Its most unique feature is its rotary knob that can adjust the volume of the sound but can also be pressed as a joystick.
This keyboard supports the open source QMK firmware, so you can remap all of its key mappings: moving around specific keys, adding functions, etc, as well as changing the function of the knob.
If you have limited desk space or are on the move switching locations during the day, you want a programming keyboard that is as small as possible while still retaining the feel and functionality of larger ones with standard desktop key sizes. The compact -also called 60%- format keyboards are the most compact way to achieve 104-key functionality with just 61 keys, by the use of key combinations. Yet not every programmer will like having to push two keys to get to the Function Keys or arrow keys while coding.
Available in White and Black and measuring only 11.2" by 3.8" inches the Anne Pro 2 is a compact marvel that can be used wired or wirelessly. It weighs only 635 grams (22.4 ounces) including the internal 1900mAh battery. The Bluetooth 4.0 connectivity can be turned on and off with a switch on its back and it can be paired with up to four devices. A nifty feature allows switching between paired systems by pressing the Fn2 key plus the numbers 1 to 4. This keyboard also works with Windows, Mac OS and Linux.
Various switch options are available from the manufacturer, and all of the keys can be macro-programmed using the software provided. Many programmers will like to go with Gateron Brown switches as they have a good amount of feedback and provide excellent typing without being too loud. There isn't a wrist rest or adjustable incline settings on this keyboard, but users report that you can use a 12-inch keyboard wrist rest from another manufacturer, like Glorious.
Because not every programmer prefers a 61-key layout, we have left the choice of the best portable keyboard for programmers up to you: tenkeyless or compact.
People looking for a wireless mechanical keyboard better skip this entry entirely: there are mechanical keyboards that are also wireless on this same buying guide. Yet Logitech has surprised us with a tried "rubber dome and scissors" mechanism used in most laptop keyboards. And they did an amazing job at it: its spherically dished keys feel great on your fingertips for long hours of programming.
It comes either with or without the bundled wrist rest and the price difference is only $19 at the time of this writing. We choose the one with the added wrist rest that is made of memory foam -a comfortable yet durable material that is soft and resilient- that allows your hands to be in a relaxed position while you code for hours.
Its scissors mechanism delivers satisfying feedback on every key press. The keys have a short travel distance, requiring little force when tapped. Like most scissor keyboards on laptops it is very quiet, so your fellow coders won't be bothered by your typing. It features exceptional compatibility: Windows, Mac OS, Linux, Android and iPhone, and can be paired with up-to 3 devices over Bluetooth. Three dedicated keys allow you to switch effortlessly between paired devices 1/2/3.
A number of unique features, including hand proximity detection and automatic backlighting -to conserve battery life- make it stand out from the rest. Unfortunately its programmable buttons can be assigned only to preset functions, not macros. But as programmers, you know that there's third party software for that. A 2.4 Ghz USB receiver is included that you can plug into your PC if you want to have less lag than over Bluetooth.
Its battery life is impressive, Logitech claims it can go up for over a week without recharging with backlighting enabled and up to five months with backlight off. Impressive indeed!
Even though PC keyboards can be used with a Mac, you lose Apple-only keycaps such as the Option and Command keys. There are some mechanical keyboards that include replacement keycaps for Mac users. However, with a decent option from Apple, why bother?
The Apple Magic Keyboard with Numeric Keypad -magic keyboard NK hereinafter - features a broader layout that will appeal to most programmers, with document navigation controls for quick code scrolling and full-size arrow keys. The Magic Keyboard NK is 5.5 inches longer than the standard Magic Keyboard. As with any Magic Keyboard, the insides are similar: a scissor mechanism below each key and an extremely short key travel distance.
It is possible to use the device while it is plugged in and charging, but once the device is fully charged, it can be used wirelessly and its battery can last up to a month without charging. It comes with a USB-C to Lightning cable that measures three inches long. It is true that most if not all mechanical keyboards work with Macs too, but buying one is more of a hobby than a necessity.
Programmers who don't want to spend a great deal of money can get great value from the EVGA Z15 in the mechanical keyboard category. For those taking the leap from membrane and rubber domes to mechanical wonders, it is ideal.
It looks and feels strong thanks to its brushed metal plate over a plastic base. The magnetically-attached wrist rest serves the purpose of keeping hands comfortable while typing long stretches of code. However, since it is made of hard plastic, it is not as comfortable as ones made of soft materials. It provides good ergonomics, since there are two incline settings and the keycaps are slightly curved.
Hot-swappable switches allow you to select the most appropriate switch based on your requirements. The RGB lighting illuminates the legends at night to make them easier to read, which along with media keys and its volume control wheel will please coders with a passion for music.
It has complete programmability meaning that you can set macros to any key. On the downside, its cord is not detachable but for its price you can't have everything.
How we chose the best keyboards for programmers
A programmer needs a keyboard which is:
Responsive: every programmer has his own liking of tactile feedback and keycap type. A good tactile feedback helps reduce typos and improves productivity.
Reliable: it should work consistently, survive the accidental coffee or beverage spill and be made of quality materials.
Customizable: power developers will like programmable keyboards with custom keys that can be programmed to launch certain code editor features and actions. Others like extending the customization to keycaps as well.
Mechanical keyboards with easily replaceable keycaps allow switching the layout from the standard QWERTY. There's the complex-to-learn yet easy-on-your-fingers "DVORAK" layout, or the new "Colemak" layout which can simply be described as "QWERTY that has been fixed for speed typing".
Comfortable: some like 'clicky' sounding ones, others prefer more silent typing. Some programmers prefer a full-size keyboard with a numeric keypad, others prefer the smaller "tenkeyless" type, while for others "less is more" and prefer to have a 60% format not taking over their whole desk.
But mechanical keyboards are not to everyone’s liking. Laptops still ship with tried and true rubber dome and scissors design, and there’s some worthy desktop keyboards that are still not mechanical. While you might shell out over $100 for a mechanical keyboard with plenty of customization features, a non-mechanical keyboard with similar features can be had for a fraction of the price. If you like a quiet work environment, your wallet is thin, and you'd rather buy a new keyboard when it starts malfunctioning, then the old rubber dome might be for you.
But aren't the rubber dome keyboards membrane? And aren't membranes bad? Well, these days, the standard keyboard is a membrane with a rubber dome on top. The rubber domes return the key to the up position by acting as a spring. The keycaps of a laptop keyboard usually consist of a scissor mechanism on top of rubber domes, on top of a membrane. As such, nowadays, "membrane keyboard" usually refers to rubber dome keyboards.
In the end, it's all a matter of personal preference and you will find the right keyboard after you test several and find 'the' one. This scribbler, for one, can't let go of his Sun Type 6 which is over 15 years old and rubber dome based.
With this criteria, we selected the best keyboard for Mac programmers, the best ergonomic keyboard for heavy coders, the best portable -in two compact sizes-, and the absolutely best mechanical keyboard for programmers. Plenty of options for every desk size, typing style and customization needs. We also selected the best budget category for the new programmers who don't want to break the bank.