Live Layer Display for ZMK Keyboards

See Your Active Layer in Real Time

ZMK Layer Monitor sits in your menu bar and tracks your keyboard's active layer via HID.

Toggle a full keyboard overlay showing every keybinding for the current layer.

Free, open source, built for ZMK.

Download fromGitHub
ZMK Layer Monitor showing active layer with lock state
ZMK Layer Monitor keyboard overlay showing keybindings
How It Works

Three steps to live layer display.

01

Enable HID Report

Build your ZMK firmware from the pfilipp/zmk fork with CONFIG_ZMK_HID_LAYER_STATE_REPORT=y enabled.

02

Import Your Keymap

Import your .keymap and .json layout files from your ZMK config. The parser extracts keybindings and physical key positions.

03

See Live Layers

A floating pill shows your active layer. Press the hotkey to toggle a full keyboard overlay with all keybindings.

Features

Everything you need to know your layer.

Real-Time HID Monitoring

Tracks your ZMK keyboard's active layer via a custom HID report. Layer changes appear instantly in the menu bar and floating overlay.

Keyboard Overlay

Toggle a full keyboard layout display showing every keybinding for the current layer. Centered on screen, non-interactive, and always up to date.

Color-Coded Keys

Tap, hold, modifier-wrapped, and sticky keys are visually distinguished using a colorblind-safe palette. See at a glance what each key does.

Layer Pill Indicator

A floating pill in the corner shows the active layer name and lock state. Configurable visibility — show only when locked, or always.

Customizable Hotkey

Set any keyboard shortcut to toggle the overlay. Record your preferred combo directly in the app. Default: ⌘⌃K.

ZMK Keymap Parser

Import .keymap and .json file pairs from your ZMK config. Supports &kp, &lt, &mo, &tog, &sk, &mt, home row mods, and modifier wrappers.

Pricing

Free and open source.

ZMK Layer Monitor

Freeopen source

  • Real-time layer monitoring
  • Full keyboard overlay
  • Color-coded key display
  • Customizable layer names
  • Configurable hotkey
  • ZMK keymap parser
Download from GitHub

Requires macOS.

FAQ

Frequently asked questions.

ZMK Layer Monitor works with any ZMK-powered keyboard. It communicates via USB HID, so both wired and wireless keyboards are supported as long as they're connected to your Mac.

Yes. You need to build your firmware from the pfilipp/zmk fork, which adds a custom HID report (Report ID 0x04) for layer state. Add CONFIG_ZMK_HID_LAYER_STATE_REPORT=y to your .conf file. The easiest way is to use pfilipp/zmk-workspace.

Click the menu bar icon, then Import Keyboard Layout. Select your .keymap file and the matching .json physical layout file from your ZMK config repository. The app parses both to render your keyboard layout.

The parser supports &kp, &hml/&hmr (home row mods), &lt (layer-tap), &mo (momentary), &tog (toggle), &sk (sticky key), &mt (mod-tap), &trans, &none, and modifier wrappers like LG(), LS(), LC(), LA().