kbswitch lets you switch quickly and easily between keyboard layouts in Windows.

If you've ever used Mac OS X – it's now as easy as that.

If you've never used Mac OS X, trust me: that means it's easy.


  • Unintrusive. One discreet notification area icon. (Also, doesn't randomly mess up Visual Studio debugging.)
  • Doesn't use a keyboard shortcut. No more accidental layout switches.
  • Reliable. No more arguments with the language bar.
  • Hassle-free. Single EXE, no install required, can run off thumb drive, doesn't change your profile, doesn't save anything to disk.
  • Optional. Leave it running all the time, or run it just when you need it.


kbswitch.zip (25K - EXE, docs, source code)


Copy supplied kbswitch.exe somewhere, and run it.

kbswitch is perfectly happy being run just when you need to switch layouts. You can also put a shortcut to it in the Startup folder of your Start Menu, so that it runs when Windows starts.

kbswitch is a single EXE file, and doesn't need to save any data anywhere. You can run it off a flash drive or other removable storage.


When kbswitch is running, it will keep a little icon in the notification area, that looks a bit like a closeup of a keyboard.


Hover over the icon to see the currently set layout.


Right-click on the icon to get a popup menu listing available keyboard layouts. Select one to change to that layout.


Select "Exit" to exit. The current keyboard layout remains set. (You can re-run kbswitch if you need to switch again later.)


  • kbswitch works fine on Windows XP, but I have had a report of problems with Windows Vista. For best results, it seems, disable the built-in Language Bar and its keyboard shortcuts – but even then, kbswitch may only be able to change the language for running applications, with newly-launched applications using your Windows default keyboard layout. (You can use kbswitch to change the layout once they're loaded, though, so with any luck you won't be completely stuck.)

    I will be looking into this when I upgrade to a more modern version of Windows.

  • If you look in the Regional and Language Options section of the Control Panel after changing the layout, you'll see that the current keyboard is set as the default. Don't worry – if you change using kbswitch, this new default is NOT saved. Next time you log on, you'll get your default default.
  • Satisfaction is not guaranteed when combined with other layout switching programs. (kbswitch may behave correctly, but the tool tip may be incorrect. Just needs fixing.)
  • If you change language while a program is loading, for example while its splash screen is being displayed, it may not pick up the change. (There are probably other situations where this can happen, too.) To fix this, use kbswitch to reselect the selected language once the program looks to be ready.
  • The Ctrl+Alt+Del screen uses your default keyboard. Watch out when using keyboard shortcuts, and in particular when entering your password! (I doubt there's anything I can do about this; that screen is presumably specially designed to be impervious to all forms of attack.)

Other credits

  • The code for DVAssist demonstrated how to change the layout properly. (My original attempt was way over-complicated, and didn't work anyway.)
  • The icon comes from a freeware icons collection that I downloaded a few years ago.


kbswitch snail tomseddon dot plus dot com