Build the board you actually want.
The popular open-source keyboard tools, working together in one place, for designing a keyboard that's all yours. Start with the layout, create your board, build your firmware files, and share your creation.
Open a file you already have
Drop it here, or anywhere on this page. We work out what it is and open it in the right tool. It stays in your browser: nothing is sent anywhere.
-
Layout Editor
KLE raw data.jsonvia.jsonvial.jsonLayouts from keyboard-layout-editor.com, and VIA and Vial definitions. -
Ergogen Builder
config.yaml.tbt.jsonErgogen configs from ergogen.xyz or the CLI, and TurkeyBoards projects. -
Firmware Kit
keymap.ckeymap.json.vil.keymapQMK, Vial, VIA and ZMK keymaps, added to the keyboard you're working on.
From a layout sketch to firmware, in one place
Each step hands its work to the next, so you stop copying JSON between five browser tabs. All three tools work on the same keyboard: switch between them and nothing gets lost.
-
1
Layout
Place keys, set sizes, rotate thumb clusters, write legends.
KLE JSON -
2
Geometry
Turn the layout into Ergogen columns, stagger and thumb clusters.
config.yaml -
3
Plate & PCB
Board and plate outlines plus KiCad PCBs with every part placed.
.dxf · .kicad_pcb -
4
Firmware
Pins and a keymap in; QMK with Vial and VIA, or ZMK for wireless, out.
keyboard.json · .keymap -
5
Keymap art
Every layer as an image for docs, READMEs and listings.
.png · .svg
The bench
Every tool in one place and working together, so no more jumping between bookmarks. Everything runs in your browser, and no account is needed. Sign in if you'd like your keyboards on every computer you use.
Layout Editor
Our take on keyboard-layout-editor.com, tuned for split and ergo boards.
- Drag keys with quarter-unit snapping, resize, rotate around any origin
- 12 legend slots, keycap and legend colours, homing nubs, ISO and stepped keys
- Paste KLE raw data straight onto the canvas; export JSON or SVG
- Flags overlapping keys before they become a PCB problem
Ergogen Builder
Design an ergonomic keyboard without writing YAML. Ergogen runs right in your browser.
- A five-question guided setup, or start from a Corne, Sweep or Lily58-style design
- Sliders for stagger, splay, thumb clusters and the gap between halves
- MX or Choc, Pro Micro-style controller, TRRS link, wireless, OLED, encoder · plain Ergogen
- Board and plate outlines (DXF), KiCad PCBs, and the matrix pins for QMK
Firmware Kit
Wire up your keyboard, build its keymap, and download firmware files ready to compile.
- Pro Micro, Elite-C, RP2040 boards, nice!nano and XIAO; Ergogen designs come wired
- Layers, mod-taps, layer-taps and knobs; type on your own keyboard to fill in keys
- QMK with Vial and VIA keymaps, or a ZMK config that builds on GitHub
- Imports keymap.c, keymap.json, Vial .vil and ZMK .keymap files
Keymap Images
Every layer of your keymap as a clean diagram for docs, READMEs and product pages.
- All layers in one image, or one per layer
- Layer keys highlighted, so each picture shows how to get there
- TurkeyBoards, dark and print styles; PNG or SVG
Works with the files you already have
No account needed, no lock-in. Everything runs in your browser and saves to standard formats.
| Format | Files | Open | Save | Where |
|---|---|---|---|---|
| KLE raw data | [{"w":1.5},"Tab","Q"] | Yes | Yes | Layout Editor |
| KLE JSON | layout.json | Yes | Yes | Layout Editor |
| SVG image | layout.svg | — | Yes | Layout Editor |
| Ergogen config | config.yaml | Yes | Yes | Ergogen Builder |
| Outlines and PCB | .dxf .svg .kicad_pcb | — | Yes | Ergogen Builder |
| QMK, Vial, VIA | keyboard.json keymap.c vial.json via.json | keymap.c via.json vial.json | Yes | Firmware Kit, Layout Editor |
| QMK keymap | keymap.json | Yes | Yes | Firmware Kit |
| Vial layout | .vil | Yes | Yes | Firmware Kit |
| ZMK | .overlay .dtsi .keymap | .keymap | Yes | Firmware Kit |
| Keymap images | .png .svg | — | Yes | Firmware Kit |
Built on the work of the open-source keyboard community
None of this would be possible without these projects and the people who build and share them. Our tools read their formats, run their code and start from their boards. Visit them, read their docs, star them and support them.
Design
- ErgogenThe keyboard generator inside the Ergogen Builder, run unchanged. GitHub
- Keyboard Layout EditorThe layout format the Layout Editor reads and writes, and the idea it grew from. GitHub
- Maker.jsThe 2D geometry behind Ergogen's outlines. GitHub
- KiCadWhere the PCBs we make get routed and sent to the fab.
Firmware
- QMK FirmwareThe firmware, keycodes and keyboard format the Firmware Kit builds for. GitHub
- VialChange keys live, with no flashing. GitHub
- VIAThe definition format and configurator for QMK boards. GitHub
- ZMK FirmwareWireless firmware, with ZMK Studio for live keymap changes. GitHub
Also: kle-serial, hull.js, js-yaml, math.js, JSON5, JSZip and the Commit Mono typeface. Thank you to everyone who works on them.