QMK and VIA Explained: The Complete Beginner’s Guide to Customizing Your Keyboard

Mechanical keyboards have a habit of pulling people deeper than expected.

It starts with switches, then keycaps, and before long you are researching stabilizers or foam mods. Eventually someone mentions QMK or VIA, and you realize customization extends far beyond hardware. The keyboard itself becomes programmable. Keys can be remapped, complex shortcuts can live under a single press, and layers can transform a compact board into something far more powerful than its size suggests.

This level of control was not always accessible. In the past, customization meant fiddling with DIP switches or relying on buggy software that died with the next OS update. Today, the enthusiast community has moved toward a better solution: open-source firmware paired with flexible configuration tools. This approach puts you in complete control, independent of the operating system or the manufacturer’s willingness to update their software.

At the heart of this shift are two names: QMK and VIA. QMK is the open-source firmware running inside the keyboard, handling every keypress. VIA is the graphical interface that lets you talk to that firmware without writing code. In the sections ahead, you will learn what each one does, how they work together, how to check compatibility, and how to create your first custom key layer.

What is QMK? (The Brain)

QMK stands for Quantum Mechanical Keyboard. At its simplest level, it is open-source firmware that runs directly on your keyboard. While your computer handles the operating system and applications, your keyboard has its own brain running QMK that decides what signal gets sent every time you press a key.

Centered Image Finger pressing keycap sending signal through QMK firmware to computer output.

The journey of a keypress: QMK firmware interprets the physical press and tells the computer what to do.

Think of QMK as the operating system for your keyboard. Just as Windows or macOS manage how your computer responds to clicks and commands, QMK manages how your keyboard responds to every press. It sits quietly on a small chip inside the board, waiting to translate your physical key presses into something your computer understands.

What can it actually do?

This is where things get interesting. Standard keyboards are rigid. The A key is always A, and the function row is always where the manufacturer put it. QMK breaks all of those rules.

  • Custom Keymaps: You can change any key to do something completely different. Want your Caps Lock to act as another Ctrl? Done. Want your spacebar to double as a Shift key when held? Also possible. You are not limited by the labels printed on the keycaps.
  • Multiple Layers: Remember holding Shift to access capital letters? Layers work the same way, but for your entire keyboard. You can hold a dedicated layer key, and the whole board transforms. The letter keys can become a number pad. The right half of your board can become arrow keys. It is like having several keyboards stacked into one physical device.
  • Macros: A macro lets you record a sequence of actions and trigger them with a single press. One key could type out your email address, execute a complex Photoshop shortcut, or enter a frequently used command in your terminal.
The honest catch

Configuring QMK directly requires flashing new firmware onto your keyboard, and that process involves editing text files, using command-line tools, and understanding a bit of code. For many people, that is a barrier they do not want to cross.

That is perfectly fine. You do not need to touch a line of code to benefit from QMK. The reason QMK matters is because it makes everything else possible. It is the engine under the hood. And just like a car, you can drive it without becoming a mechanic. That is where VIA comes in, which we will cover next.

What is VIA? (The Dashboard)

If QMK is the brain, VIA is the control panel.

VIA is a graphical software application that runs on your computer. It connects to the QMK firmware living on your keyboard and gives you a simple way to make changes. No coding. No command line. No text files. Just a clean interface where you can drag and drop functions onto keys.

Centered Image VIA software showing Layer 0 keymap layout with key tester panel.

The VIA interface lets you remap keys, switch between layers, and test your keyboard all in one place.

Think of it this way: QMK is the engine, but VIA is the steering wheel and dashboard. The engine does all the heavy work, but the steering wheel lets you control where you are going without ever opening the hood.

What makes VIA special?

The magic of VIA is that it works in real time. You do not need to restart your keyboard or flash new firmware every time you want to change a key. You open the app, click a key, assign a new function, and it changes instantly. The keyboard remembers the change because VIA talks directly to the QMK firmware already running on the device.

Here is what you can do with it:

  • Remap any key: Click on a key, choose a new function from the list, and it is done. Want your right Shift to act as a Delete key? Twenty seconds and you are done.
  • Set up layers visually: You can see all your layers laid out at once. Switch between Layer 0, Layer 1, and Layer 2 with a click and arrange them like puzzle pieces.
  • Record macros on the fly: Need a key that types your email address? VIA lets you record that sequence directly inside the app and assign it to any key.
  • Test your keyboard: VIA includes a key tester that shows exactly which keys are being pressed. It is a handy way to check if a switch is working or if something is stuck.
The catch (it is a small one)

VIA does not work with every keyboard. The keyboard must have QMK firmware installed, and it must be configured to communicate with VIA. The good news is that most keyboards released in the last few years that advertise “programmability” specifically mention VIA support. If they do, you are good to go.

For the keyboards that support it, VIA removes every barrier between you and a fully customized typing experience. You do not need to learn programming. You do not need to read dense documentation. You just need a few minutes and an idea of what you want your keyboard to do.

In the next section, we will cover exactly how to check if your keyboard makes the cut.

Why Should You Care? (The Benefits)

At this point, you might be thinking: “This sounds interesting, but do I actually need it?”

Fair question. For a lot of people, the keyboard that came in the box works just fine. But if you have ever found yourself reaching for the mouse too often, wishing a key was somewhere else, or typing the same thing over and over, QMK and VIA start to feel less like a hobby and more like a solution.

Here is what becomes possible when your keyboard is fully programmable.

Productivity: Work the way you want

Think about the tasks you repeat constantly throughout the day. Copying and pasting. Switching applications. Entering your email address into forms. With a standard keyboard, those are multiple keystrokes or mouse movements. With QMK, they can be single keys.

Centered Image Macro key replacing four manual steps in a keyboard workflow.

Macros compress multiple steps into a single press. Work gets done faster.

You can create a dedicated work layer that turns your home row into productivity shortcuts. Copy becomes one key. Paste becomes another. A macro types your full address with a single press. The friction between thinking and doing gets smaller.

Gaming: No more awkward reaches

Games love to bind important actions to obscure keys. Reload on R. Crouch on Ctrl. Push-to-talk on some distant button you cannot reach without looking down. With layers, you can solve this completely. Hold a thumb button, and your entire keyboard shifts. WASD can become arrow keys. The spacebar can trigger your ultimate ability. Your number row can become a quick-access bar for weapons. You never have to stretch for an awkward key again because the keys come to you.

Ergonomics: Move less, type more

Constant reaching for function keys, arrow clusters, or the delete key adds up over time. It pulls your hands away from home position and breaks your flow.

Programmable layers let you bring those functions to you. Hold Caps Lock, and your right hand becomes a full arrow cluster. Hold Spacebar, and the top row becomes media controls. Your hands stay centered, and your wrists stay happier.

Convenience: Little things add up

Some benefits are smaller but add up over time.

  • Lock your computer with a single key combination you design.
  • Toggle your volume without taking your hands off the keyboard.
  • Type special characters (like ™ or ©) instantly without memorizing alt codes.
  • Disable the Windows key automatically when you launch a game.

None of these are life-changing alone. Together, they make the keyboard feel like it was built specifically for you. Because now, it was. In the next section, we will look at whether your current keyboard can do any of this, or what to look for if you are shopping for one that can.

Does YOUR Keyboard Support It? (Compatibility Guide)

By now, you are probably imagining all the ways you could customize your own keyboard. There is only one question standing in the way: Can your keyboard actually do this?

Centered Image VIA keyboard compatibility flowchart showing steps to confirm support.

Follow this flowchart to determine if your keyboard works with VIA.

The answer depends on what keyboard you own and when it was made. Here is how to find out.

Look for the magic words

The easiest way to know if a keyboard supports QMK and VIA is to check the product listing. Manufacturers know this is a selling point, so they make it obvious.

Look for phrases like:

  • VIA compatible
  • QMK firmware
  • Fully programmable
  • Open-source firmware

If you see any of these, you are almost certainly good to go. If you are shopping for a new keyboard, adding “VIA compatible” to your search filters is the quickest path to what you want.

Pre-built vs. hotswap: Does it matter?

Here is something that confuses a lot of people. You might hear terms like “hotswap” or “pre-built” and wonder if they affect programmability.

They do not.

Both types can support QMK and VIA. The difference is not in the hardware, it is in the firmware. A pre-built keyboard from a manufacturer can have QMK installed just like a custom board you build yourself. The only requirement is that the manufacturer loaded the right files onto it before shipping it to you.

If you have a pre-built keyboard, you might need something called a JSON file. Think of this as a translator. It tells VIA exactly what your keyboard looks like and how to talk to it. Most manufacturers host these files on their support pages. If your keyboard is VIA compatible, the JSON file will be there waiting for you.

The secret test that never lies

Spec sheets can be wrong. Product listings can be outdated. But there is one test that always tells the truth.

Download VIA.

It is free. It takes two minutes. And it works like this:

  1. Go to caniusevia.com and download the app.
  2. Open it and connect your keyboard.
  3. Look at the bottom left corner of the screen.

If you see a message that says “No compatible devices detected” followed by a list of keyboards that are compatible, your board likely does not support VIA out of the box.

But if your keyboard appears and you can click on keys, congratulations. You just passed the ultimate compatibility test. No research required.

Popular brands to watch

To give you a head start, here are some brands that commonly offer VIA or QMK support. Remember to check the specific model, not just the brand.

  • Keychron: Most of their Q and V series, plus many recent Pro models
  • Drop: The CTRL, ALT, and Shift boards are classics in this space
  • Glorious: The GMMK Pro and newer GMMK 2 models
  • Akko: Select models in their 3000 and 5000 series
  • NuPhy: Several Air and Halo models
  • MelGeek: Most of their boards ship VIA ready
  • Cidoo: Popular in the enthusiast community for VIA support

Still unsure? You are not alone. The community actively discusses VIA compatibility every day. Head over to Reddit’s r/MechanicalKeyboards, and you will find threads like this one comparing VIA to OS-level solutions where users explain why they prefer firmware customization, or this discussion where Keychron owners share whether VIA is worth the upgrade. Seeing real people succeed with their own keyboards is often the best confirmation.

This list is not exhaustive. New keyboards launch every month with VIA support, and older boards sometimes gain it through firmware updates. When in doubt, check the product page or download VIA and see what happens.

In the next section, we will walk through exactly how to set everything up and create your first custom layer.

Quick Start Guide (How to Set It Up)

You have checked compatibility. You know your keyboard supports VIA. Now comes the fun part: actually making it do what you want.

The whole process takes about five minutes. Here is exactly how to walk through it.

Centered Image Five-step guide showing VIA setup, keyboard connection, JSON loading, and key customization.

The entire VIA setup process in five steps. No save button required.

Step 1: Download VIA

Head over to caniusevia.com and grab the latest version for your operating system. Windows, macOS, and Linux are all supported. The download is free, small, and installs like any other application. Do not grab it from random forums or third-party sites. The official source is all you need.

Step 2: Open the software and connect your keyboard

Launch VIA and plug in your keyboard if it is not already connected. Within a few seconds, you should see your keyboard layout appear on the screen. It might look slightly different from your actual keyboard depending on how the manufacturer mapped it, but the keys will be there.

If your keyboard shows up, you are already done with the hard part. Skip down to Step 4.

Step 3: If nothing shows up (the JSON file)

Sometimes VIA does not auto-detect your keyboard. This does not mean you are out of luck. It usually means the manufacturer needs to hand VIA a map of your specific board.

Head back to the manufacturer’s support page and look for a download labeled JSON file. It might be under “Firmware,” “Downloads,” or “Support.” Download that file.

Back in VIA, look for the “Load Saved JSON” option (usually in the settings or file menu). Select the file you just downloaded, and your keyboard should appear instantly. This one-time setup is all it takes.

Step 4: Change your first key

This is where it clicks.

Click on any key in the VIA interface. A menu will pop up with every possible function you can assign. Want to turn your Caps Lock into another Backspace? Find “Backspace” in the list and select it. Done.

Now try something with layers. You will notice tabs at the bottom for Layer 0Layer 1Layer 2, and so on. Layer 0 is usually your default layout. Click over to Layer 1. It looks empty, right? That is because nothing is assigned there yet.

Find a key you want to use as your layer switcher on Layer 0. Usually people pick a thumb key like Caps Lock, Spacebar, or the bottom row modifiers. Click that key, look in the menu for “MO(1)” (Momentary switch to Layer 1). Assign it. Now hold that key. Your keyboard just changed. Go back to Layer 1 in the software and start filling it with keys. Put arrow keys under your right hand. Put media controls on the top row. Every time you hold your layer key, those functions become active.

Step 5: Save (you are already done)

Here is the best part. You do not need to click a save button. You do not need to flash firmware. Every change you make in VIA is written directly to the keyboard’s memory in real time.

Unplug your keyboard. Plug it into a different computer. Your custom layout is still there. It lives on the keyboard, not in the software.

That is it. You just programmed your keyboard.

Conclusion

By now, the distinction should feel clear. QMK is the engine humming underneath, handling every press with open-source flexibility. VIA is the steering wheel, giving you a simple way to control that power without touching a line of code.

Together, they turn a mechanical keyboard into something much more personal. Not just a tool you type on, but a tool that adapts to you. Your shortcuts. Your layers. Your workflow. No buggy manufacturer software. No DIP switches. No limits.

If you have a compatible keyboard, the only thing standing between you and a fully customized setup is about five minutes and a few clicks. Download VIA. Open it. Start moving things around. The worst that happens is you change a key, decide you do not like it, and change it back instantly. That is the beauty of this whole system. It is designed to be experimented with.

One Question Before You Go

I am genuinely curious: What is the first macro or key change you plan to program?

Are you finally moving that Caps Lock to something useful? Building a gaming layer that puts every bind under your thumbs? Automating a repetitive work task? Drop it in the comments. I read every single one, and there is a good chance someone else has the same idea and wants to learn from your setup.

Leave a Reply