QMK Logo QMK Firmware

The goal of the QMK software project is to develop a completely customizable, powerful, and enjoyable firmware experience for any project - keyboard or otherwise - and to provide helpful, encouraging, and kind support and feedback for people with any software development experience.

View on GitHub

Download Zip Download Tar

Current Version Build Status Discord Docs Status GitHub contributors GitHub forks


This project is maintained by QMK collaborators and contributors like you!

Hosted on GitHub Pages — Theme by orderedlist


QMK Toolbox

View on GitHub

This is a collection of flashing tools packaged into one app. It supports auto-detection and auto-flashing of firmware to keyboards.


QMK Toolbox supports the following bootloaders:

And the following ISP flashers:

If there’s an interest in any others, they can be added if their commands are known.

HID Console

The Toolbox also listens to HID messages on usage page 0xFF31 and usage 0x0074, compatible with PJRC’s hid_listen.

If you have CONSOLE_ENABLE = yes in your keyboard’s rules.mk, you can print messages with xprintf(), useful for debugging:

See the QMK Docs for more information.



When using the QMK Toolbox on Windows, it will prompt at first run to install the necessary drivers. You can get the latest release of the QMK Driver Installer here.


A Windows and macOS version are available, and you can get the latest release here.

For Homebrew users, it is also available as a Cask:

$ brew tap homebrew/cask-drivers
$ brew cask install qmk-toolbox
Edit this page