WindowsmacOSLinux

Where Does ZMK Firmware Store Config?

ZMK keyboard config lives in a GitHub repo with boards and keymaps. Builds run through west; UF2 files flash to the board.

Last updated

ZMK keeps no settings on your computer outside the project repo. Keymaps, behaviors, combos, and board files live in a west workspace or a GitHub config repo, built into UF2 firmware in the cloud or locally. The keyboard itself holds the running copy.

That makes the repo the backup: version it, push it, and firmware becomes reproducible. Flashing is a file copy onto a bootloader USB drive, which suits every OS since no drivers are involved. Split keyboards flash per half, so track which UF2 belongs to left and right.

Where ZMK Firmware stores this, by platform

Windows
%userprofile%\zmk-config\config\

Repo with boards, shields, and keymaps is the source of truth. Build with west or GitHub Actions. Flash UF2 files per half onto bootloader drives.

macOS
~/zmk-config/config/

Same west workspace layout as other platforms. The repo builds and flashes identically; only the checkout path differs.

Linux
~/zmk-config/config/

Same config repo layout. Native west builds run fastest here. Flash halves by copying UF2 files to bootloader mounts.

Frequently asked questions

How do I back up my ZMK keymap?

Copy the repo or push it to GitHub; the config folder with boards, shields, and keymaps is the whole project. Build outputs regenerate from it, so the UF2 files need no backup. One repo per keyboard keeps changes reviewable.

How do I flash ZMK firmware?

Double-press reset to mount the bootloader drive, then copy the UF2 file onto it. The board reboots into the new firmware. A bad flash recovers the same way with a known-good UF2, so keep one handy.

Notice an outdated path? Let us know.