WikiKeyboard

When you buy through our links, we may earn a commission. About our links ›

QMK and VIA: How Open Firmware Customizes Keyboards

Short answer: QMK and VIA are open-source firmware and configuration tools for keyboards. QMK runs on the keyboard's microcontroller and lets you deeply customize the firmware via code, while VIA provides a graphical interface for real-time changes without reflashing. They enable key remapping, multiple layers, and macros, letting you adapt your keyboard to your workflow. Choose a keyboard that supports QMK or VIA to take advantage of these features.

What is QMK?

QMK (Quantum Mechanical Keyboard) is an open-source firmware that runs on the microcontroller inside a mechanical keyboard. It replaces the factory firmware and gives you full control over how the keyboard behaves. With QMK, you can redefine what each key does, create additional layers, and record macros. The firmware is maintained by a community and supported by many keyboard manufacturers.

The USB-IF HID class definition describes how keyboards communicate with hosts as human interface devices. QMK implements this protocol, ensuring the keyboard works with any operating system. Because QMK is open source, you can inspect the code, modify it, and compile your own version if you are comfortable with programming. The HID specification is designed to be compact and self-describing, which is why QMK-based keyboards can offer such extensive customization without compromises in compatibility.

What is VIA?

VIA is a companion application that works with QMK-based keyboards. It provides a graphical interface for changing key assignments in real time, without reflashing the firmware. Instead of editing source code, you use a web-based or desktop app to drag and drop key functions onto a visual layout of your keyboard.

VIA communicates with the keyboard over USB or Bluetooth, depending on the device. For wireless keyboards, the Bluetooth radio follows the Bluetooth specification, and VIA can still adjust settings through a wired connection or a dedicated HID report. The Bluetooth technology overview explains the two radio options, Classic and LE, both of which may be used by keyboards. This flexibility means you can reconfigure your keyboard even when using it wirelessly, as long as you have a way to connect it to the configuration tool.

Remapping keys

Remapping is the most common use of QMK and VIA. You can change any key to any other key, or to a function such as media control, a mouse button, or a system command. For example, you can swap Caps Lock and Ctrl, or turn the right Alt into an additional Shift. Many users find remapping essential when switching between Mac and Windows layouts.

The Windows keyboard shortcuts page lists default shortcuts like Ctrl+C for copy and Ctrl+V for paste. With QMK, you can reassign keys to produce these shortcuts without relying on software. This is especially useful for split layouts, where you may want a dedicated copy key on the left side. The ability to customize is limited only by the number of physical keys and the firmware's features. You can even assign a key to open the calculator or adjust volume, making your keyboard a true productivity tool.

Layers

Layers let you access multiple key functions from a single physical key. By holding a designated layer key (often Fn or MO), you can temporarily switch to another layer where keys have different meanings. For example, a 60% keyboard can have a function layer that provides arrow keys, navigation keys, and media controls, all without adding extra keys.

QMK supports many layers (typically up to 16, but the exact number depends on the firmware version). You can also use momentary or toggle layers, and even layer on top of layers. VIA makes it easy to define layers visually, so you can see which key does what on each layer. This is one of the most powerful features for compact keyboards. For instance, you can configure one layer for typing, one for gaming, and another for media control, then switch between them with a tap of a key.

Macros

Macros are sequences of keystrokes that you can trigger with a single keypress. For example, you can record a macro that types your email address, inserts a code snippet, or performs a series of formatting commands. QMK allows you to define macros in the firmware, while VIA lets you record and edit them through its interface.

Macros can also include delays, mouse actions, and even keyboard shortcuts. They are particularly useful for productivity, gaming, and accessibility. The HID usage tables from USB-IF define the key codes that macros can send, ensuring compatibility across systems. You can create macros for repetitive tasks and reduce strain from typing, a benefit noted by ergonomics guidelines like those from OSHA. For example, a macro that types a frequently used phrase can save time and reduce keystroke counts.

Choosing a QMK or VIA keyboard

Not every mechanical keyboard supports QMK or VIA. Look for keyboards that explicitly advertise QMK or VIA compatibility. Many brands, such as Keychron, EPOMAKER, and others, offer models with QMK support. These are often found in the 60%, 65%, and 75% form factors, but TKL and full-size options exist as well.

When choosing, consider the layout and switch type. If you prefer a compact desk setup, a 60% or 65% keyboard with QMK lets you access missing keys via layers. For more keys, a 75% adds a function row. You can browse our guides for best 60% keyboards, best 65% keyboards, and best 75% keyboards to see which models support QMK. Also consider hot-swappable keyboards, as they allow you to change switches without soldering, which is convenient if you want to experiment with different switch types. Additionally, the keyboard form factor guide can help you understand the differences between layouts.

For TKL or full-size options, our best TKL keyboards and best full-size keyboards guides highlight models that offer QMK support. If you are on a budget, the budget keyboard guide includes QMK-compatible options that won't strain your wallet.

What to pick for your use

If youPickBuying guide
You want the most portable layout and don't mind using layers60% keyboard with QMKBest 60% Keyboards in 2026: 15 Picks Compared on Specs
You need arrow keys and dedicated navigation but still want compact size65% keyboardBest 65% Keyboards in 2026: 15 Picks Compared on Specs
You want a function row and compact size for productivity75% keyboardBest 75% Keyboards in 2026: 15 Picks Compared on Specs
You prefer a traditional TKL layout with F keys and QMKTKL keyboardBest TKL Keyboards in 2026: 15 Picks Compared on Specs
You want a full-size keyboard with numpad and QMK supportFull-size keyboardBest Full Size Keyboards in 2026: 14 Picks Compared

Questions

What is the difference between QMK and VIA?

QMK is the firmware that runs on the keyboard, providing the underlying customization capabilities. VIA is a graphical configuration tool that interacts with QMK-based keyboards to make changes in real time.

Do I need to know programming to use QMK?

For basic remapping and layers, VIA makes it easy without code. To use advanced features or customize the firmware itself, you may need to edit C code and compile it.

Can I use QMK on any keyboard?

No, QMK must be supported by the keyboard's hardware. The microcontroller must be compatible, and the manufacturer must have ported QMK to that specific board.

Does QMK work with wireless keyboards?

Yes, many QMK keyboards support Bluetooth. The QMK firmware includes Bluetooth support, and VIA can still be used over a wired connection or through a special HID report.

Are QMK keyboards compatible with all operating systems?

Yes, because they use standard HID protocol, so they work with Windows, macOS, Linux, Android, and iOS. The HID class definition ensures universal compatibility.

Can I set macros without VIA?

Yes, QMK supports macros defined in the source code. If your keyboard doesn't support VIA, you can manually edit the keymap and compile the firmware.

What changed

  • : First published.

Sources

Related buying guides