Simple-keyboard is a virtual keyboard for Javascript that is lightweight and customizable.

This virtual keyboard can be integrated with just vanilla Javascript. However, it is also compatible with React, Angular, Vue, jQuery, and most other frameworks and libraries.

Simple-keyboard has features such as: multiple language keyboard layouts, multiple synchronized instances, cursor positioning support, easy flexbox styling. It also has a wide range of methods and options, and much more.

Learn more…

Version: 2.X
Last updated: fetching…
Open issues: 0

If you like simple-keyboard, please support it by starring its Github repository. {n} devs have already done it!



Live demo:

Click here to see simple-keyboard in action.


Source code and installation:


Vanilla JS:

The Vanilla JS version works with most frameworks and libraries (Angular, Vue..), yet also works standalone. Check out the demos below.


React JS:

The React.js version, react-simple-keyboard, follows a more-React like syntax. It is instantiated as a component and it’s methods are available through the Keyboard ref attribute. Feel free to consult the documentation link above for details.


Check out other simple-keyboard demos:




Got any issues? File a ticket here (Response times are generally very quick):


If you have a question, a suggestion, or an issue that you would like to submit rapidly, you can also send a message in our Discord chat. This is generally the fastest option if you don’t have time to write a detailed GitHub ticket.