Skip to content
Keyboards

How to Use VIA to Customize Your Mechanical Keyboard

By James LucasUpdated June 27, 2026

VIA is the fastest way to customize a QMK keyboard without touching a line of code. You remap keys, build layers, program macros, and set per-key RGB all from a browser tab — and every change saves instantly to the keyboard's firmware. This guide walks you through exactly how to do it, from first connection to a fully customized layout.

What VIA actually is — and why it matters

Most keyboard customization still requires opening a terminal, editing a config file, and flashing firmware. That's fine for enthusiasts comfortable with a command line, but it puts the best part of owning a programmable keyboard — remapping keys to exactly what you want — out of reach for everyone else.

VIA solves this. It's a browser-based graphical interface built on top of QMK firmware. You open usevia.app in Chrome, plug in your keyboard, and instantly see a live map of every key. Click a key, pick a replacement — the change saves to the keyboard in under a second. No terminal, no code, no firmware flash required.

The result is that a feature once exclusive to mechanical keyboard hobbyists is now accessible to anyone who can drag and drop. If you own a keyboard that supports VIA (and most quality boards made in the last three years do), you have no reason not to use it.

Before you start: does your keyboard support VIA?

VIA only works with keyboards running QMK firmware that has been compiled with VIA support enabled. Most boards from Keychron (Q, V, and C series), Drop (CTRL, ALT, SHIFT), Keebio, and Cannon Keys support it out of the box.

The easiest way to check is to search the VIA keyboard list at caniusevia.com — it lists every officially supported board. Alternatively, the product page of any VIA-compatible keyboard will say so explicitly. If you don't see your board listed, it may support QMK but need a JSON definition file to work in VIA, which we cover later in this guide.

One constraint worth knowing upfront: VIA only works in Chrome or a Chromium-based browser (Edge, Brave, Arc). It uses a browser API called WebHID to communicate directly with the keyboard's firmware. Firefox and Safari do not support WebHID and will not work with VIA, regardless of which keyboard you have.

Opening VIA and connecting your keyboard

Open usevia.app in Chrome. No installation, no login, no account. You'll see a blank interface with a button to authorize a device.

Plug your keyboard into your computer using a USB-C cable — VIA requires a wired connection even if your keyboard is normally wireless. Click Authorize device in the top-right corner. A browser dialog appears showing connected USB devices. Select your keyboard and click Connect.

VIA recognizes the board immediately and loads a diagram showing every key on your keyboard. Each key displays its current assignment. This is your keymap, and every key on it is live and editable right now.

If VIA doesn't detect your keyboard automatically, it may need a JSON definition file. Go to Settings → Load draft definition and upload the JSON file for your board, available from your keyboard manufacturer's website or the QMK firmware repository on GitHub. Once loaded, your keyboard appears exactly as if it were officially supported.

How to remap a key

Remapping is the core feature, and it takes about five seconds once you know the flow.

Click any key on the VIA layout diagram — it highlights in blue. The key picker panel appears at the bottom of the screen. Browse the categories: Basic, Media, Macro, Layers, Special. Click the key you want to replace it with.

The remap applies instantly. There's no Save button and no confirmation step — VIA writes directly to the keyboard's onboard memory (EEPROM) the moment you make a change. Test it immediately by pressing the key.

Common remaps that make an immediate difference:

  • Caps Lock → Left Ctrl — the most popular single remap. Ctrl is used constantly for shortcuts, and Caps Lock is in a prime position that most people never use intentionally.
  • Right Alt → a layer key — activates a navigation or symbol layer when held. Puts arrow keys, Home, End, and Delete on the home row without leaving your hands' natural position.
  • Insert → Screenshot key — Insert does almost nothing in modern use. Replacing it with a Print Screen or a macro is a straightforward upgrade.

Every change is reversible. Click the same key and assign it back to its original value. If you want to start over completely, the Reset button in Settings restores the keyboard's default layout.

Understanding layers

Layers are where VIA becomes genuinely powerful rather than just a key reassignment tool.

Think of a layer as a transparent sheet that sits over your base layout. When you activate a layer, every key that has an assignment on that layer overrides the corresponding key on the base. Keys that have no assignment on the active layer fall through to the layer below.

Layer 0 is your base layout — the one you type on normally. Layers 1, 2, and 3 are empty by default and activate only when triggered. You assign a key on layer 0 to activate them.

The two most useful layer key types:

  • MO(1) — Momentary layer. Hold the key to activate layer 1; release to return to layer 0. Works like a Shift key for your layout.
  • TG(1) — Toggle layer. Tap the key to activate layer 1; tap again to deactivate. Layer stays on without holding.

To build a useful layer: go to layer tab 1 in VIA. Assign arrow keys to H, J, K, L (Vim-style) or to I, J, K, L. Put Home on U, End on O, Page Up on Y, Page Down on N. Now assign MO(1) to Caps Lock on layer 0.

The result: hold Caps Lock and your right hand stays on the home row while navigating documents with arrow keys. This single layer eliminates the reach to the arrow cluster entirely and is one of the most impactful customizations available for any keyboard.

Creating macros

Macros let a single keypress trigger a sequence of inputs — anything from an email address to a multi-step keyboard shortcut.

Click the Macros tab in VIA. You'll see macro slots labeled M0 through M15. Click any slot and either type the sequence you want, or click the record button and type it live on the keyboard.

Practical macro examples:

  • Your email address assigned to a key on a function layer — saves ten-plus keypresses every time you sign into something
  • console.log() with the cursor positioned inside the parentheses — useful for JavaScript developers
  • A terminal command you run repeatedly (git status, docker ps, npm run dev)
  • A multi-modifier shortcut your IDE uses that's awkward to hit live (Ctrl+Shift+Alt+F10 as a single key)

Once you create a macro, assign it to any key on any layer just like a regular key — it appears in the Macro section of the key picker. Macros save to the keyboard alongside the rest of your keymap.

Setting per-key RGB lighting in VIA

If your keyboard has per-key RGB (individual LEDs under each switch rather than a single underglow strip), VIA can control the colour of each key independently.

Click the Lighting tab. Depending on your keyboard's firmware, you'll see sliders for hue, saturation, and brightness affecting the entire board, or a per-key mode where clicking individual keys in the diagram lets you set their colour.

For most users, per-key RGB is a secondary feature — the colour of a key matters less than what the key does. But it's worth knowing it's there, especially if you want to colour-code layers visually: base layer in white, layer 1 in blue, macros in red. The layout becomes self-documenting at a glance.

Saving and backing up your layout

VIA saves every change to the keyboard's onboard memory automatically. Your layout is stored on the keyboard itself, not in VIA or in your browser. Unplug the keyboard, take it to another computer, plug it back in — your layout is exactly as you left it.

This is an important distinction from software-based remapping tools (like AutoHotkey on Windows or Karabiner on Mac), which store remaps in the OS and disappear on a different machine. With VIA and QMK, the remapping lives in the hardware.

That said, VIA doesn't automatically back up your layout to a file. If you reset the keyboard or flash new firmware, your keymap goes back to default. To save a backup, go to File → Save Current Layout in VIA. This downloads a JSON file of your entire keymap — all layers, all macros — that you can reload later with File → Load Layout.

Save this file somewhere you won't lose it. It takes ten seconds and means rebuilding your carefully tuned layout from scratch is never necessary.

What VIA can't do

VIA is excellent for remapping, layers, and macros. It doesn't cover everything QMK offers.

Advanced features like tap-dance (different actions on single vs double tap), combos (two keys pressed simultaneously to trigger a third), and home row mods (a key that acts as a letter when tapped and a modifier when held) require editing QMK config files directly and flashing new firmware. These features are powerful but involve a steeper learning curve.

If you eventually want those capabilities, the QMK documentation at docs.qmk.fm is thorough and community-maintained. But for the majority of customization that most people actually want — a better Ctrl position, a navigation layer, a handful of macros — VIA covers everything without writing a single line of code.

Start with VIA, learn what you actually want to change, and only go deeper into QMK if the browser tool runs out of room for you. Most people find it never does.

Frequently asked questions

What keyboards work with VIA?

VIA works with any keyboard running QMK firmware that has VIA support compiled in. This includes most Keychron Q, V, and C series boards, many Drop and Keebio keyboards, and hundreds of custom boards. Check caniusevia.com for the full list. If your keyboard runs QMK but doesn't appear in VIA, it may need a JSON definition file loaded manually.

Is VIA the same as QMK?

No. QMK is the open-source firmware that runs on the keyboard. VIA is a graphical configurator that sits on top of QMK and lets you edit the keymap without flashing new firmware or using a command line. VIA saves changes directly to the keyboard's EEPROM memory, so your layout persists even when you unplug and replug the board.

Do I need to install any software for VIA?

No. VIA runs entirely in the browser at usevia.app — just open it in Chrome or another Chromium browser and plug in your keyboard. Nothing to install, no account required, no background app running. Changes save directly to the keyboard.

What is a layer in VIA and why would I use one?

A layer is like a second (or third, or fourth) set of keys that activates when you hold or toggle a modifier key. Layer 0 is your normal typing layout. A layer 1 could put media controls, arrow keys, or symbols on the home row — accessible by holding a key you designate. Layers let you access more functions without needing a larger keyboard.

Can I use VIA over Bluetooth or 2.4GHz wireless?

No. VIA requires a USB connection. This is because VIA communicates with the keyboard's firmware via HID (USB Human Interface Device protocol), which isn't available wirelessly. To customize a wireless keyboard with VIA, plug it in via USB-C first, make your changes, then unplug and switch back to wireless. Your layout saves to the keyboard and persists over wireless.