Sideloading VIA JSON Files

Simply put a JSON file ("JSON" stands for JavaScript Object Notation) is a text file with data pertaining to the application it's targeted towards. For VIA this JSON file has important information that identifies your keyboard through its USB identifier.

It then also contains a map of keys (so that VIA can draw the layout of your keyboard).

VIA then uses this information to recover the "keycode" assigned to each key and also programs your keyboard with other "keycodes" as you change them.

VIA works with a very large list of keyboards - this list is always changing as more keyboards are added to its repertoire. Each time VIA starts; it queries this list on the internet and downloads any additions as JSON files.

But the process of adding the JSON files is guarded against errors with a manual ("human") process of "review and accept" by the creators of VIA (known as "The VIA Project"). There is no guarantee of time given by The VIA Project, and contributors who submit their keyboard definitions and key-maps as JSON files may need to wait a long time before a The VIA Project member has a chance to review it.

With this in mind, the creators of VIA allow one to manually add a keyboard definition file into VIA as needed. "Sideloading" is just that, the process of loading a keyboard definition JSON file not yet in The VIA Project repertoire, directly into VIA so that you, the user, can map your keys.

Step 1: Download the correct JSON file

  • It is assumed that you have installed VIA. If not, head on over to to download and install it.
  • The first step is to download the appropriate JSON file for your model of keyboard. For IDOBAO keyboards these can be found in the VIA pages on this site.
  • Save this file in a location that you will have easy access to, as you will need to "sideload" each time you use VIA. (VIA was designed to not store anything itself, so the import process is done each time VIA is run.)

Step 2: Import the JSON file keymap

  • On Windows, select the "File" menu in the VIA app, and then "Import Keymap". Or, you can just use [Ctrl]+[O].
  • On MacOS, use the Mac menu bar (not on the app window) to select "VIA", and then "Import Keymap".
  • On Linux, select the "File" menu in the VIA app, and then "Import Keymap". Or, you can just use [Ctrl]+[O].
  • Other sites may suggest that you enable the "DESIGN" tab... you don't need to do that. That function is only used by JSON file creators for testing.

Step 3: There is no step 3

  • That's it.
    If you're using the correct JSON file your keyboard should render and you can start using VIA to remap your keys and layers.

See also