# react-simple-keyboard

> React.js Virtual Keyboard

Latest version **3.8.277** (published 2026-09-25) · MIT license · 93.2K weekly downloads

## Install

```sh
npm install react-simple-keyboard
pnpm add react-simple-keyboard
yarn add react-simple-keyboard
bun add react-simple-keyboard
```

## Health

**Score 85/100 (A)** — status: active.

Positive: has types; esm support; no vulnerabilities; has provenance; recently updated; high maintenance score; high quality score.

## Facts

| | |
|---|---|
| Version | 3.8.277 |
| Published | 2026-09-25 |
| First published | 2018-04-20 |
| Weekly downloads | 93.2K |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 0 |
| Unpacked size | 447.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 629 |
| Author | Francisco Hodge |
| Maintainers | hodgef |
| Keywords | react, reactjs, digital, keyboard, onscreen, virtual, component, screen-keyboard, component, virtual-keyboard, touchscreen, touch-screen, kiosk, osk, js |

## Links

- npm: https://www.npmjs.com/package/react-simple-keyboard
- Repository: https://github.com/hodgef/react-simple-keyboard
- Homepage: https://virtual-keyboard.js.org/
- Issues: https://github.com/hodgef/react-simple-keyboard/issues
- npm.io page: https://npm.io/package/react-simple-keyboard

## Alternatives

- [@mapbox/jsonlint-lines-primitives](https://npm.io/package/@mapbox/jsonlint-lines-primitives.md) — 5.3M weekly downloads
- [reftools](https://npm.io/package/reftools.md) — 3.5M weekly downloads
- [@hey-api/openapi-ts](https://npm.io/package/@hey-api/openapi-ts.md) — 3.5M weekly downloads
- [@mapbox/geojson-rewind](https://npm.io/package/@mapbox/geojson-rewind.md) — 2.4M weekly downloads
- [turbo-stream](https://npm.io/package/turbo-stream.md) — 1.7M weekly downloads

## Recent versions

- 3.8.277 (latest) — 2026-09-25
- 3.0.0-beta.2 (beta) — 2021-03-21
- 2.4.0 (r4) — 2020-09-03
- 2.3.0 (r2.3) — 2020-04-21
- 3.8.276 — 2026-09-22
- 3.8.275 — 2026-09-21
- 3.8.274 — 2026-09-18
- 3.8.273 — 2026-09-17
- 3.8.272 — 2026-09-16
- 3.8.271 — 2026-09-14
- 3.8.270 — 2026-09-11
- 3.8.269 — 2026-09-09
- 3.8.268 — 2026-09-09
- 3.8.267 — 2026-09-09
- 3.8.266 — 2026-09-08
- … 1882 more at https://npm.io/package/react-simple-keyboard/versions

## README

<a href="https://simple-keyboard.com/demo">
    <img alt="simple-keyboard: Javscript Virtual Keyboard" src="https://user-images.githubusercontent.com/25509135/188000091-fc64ce47-2a87-4835-ab6c-defbaba3ee90.gif">
</a>

<blockquote>Virtual Keyboard for React. Customizable, responsive and lightweight.</blockquote>

<p>
  <a href="https://www.npmjs.com/package/react-simple-keyboard"><img src="https://badgen.net/npm/v/react-simple-keyboard?color=blue" alt="npm version"></a> <a href="https://github.com/hodgef/react-simple-keyboard/blob/master/LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="MIT license"></a> <a href="https://gitlab.com/hodgef/react-simple-keyboard" target="_blank"><img alt="Mirroring" src="https://img.shields.io/badge/Mirror-GitLab-blue" /></a> <a href="https://github.com/hodgef/react-simple-keyboard/actions"><img alt="Build Status" src="https://github.com/hodgef/react-simple-keyboard/workflows/Build/badge.svg?color=green" /></a> <a href="https://github.com/hodgef/react-simple-keyboard/actions"><img alt="Publish Status" src="https://github.com/hodgef/react-simple-keyboard/workflows/Publish/badge.svg?color=green" /></a>
</p>

## 🚀 Demo

[https://simple-keyboard.com/demo](https://simple-keyboard.com/demo)

## 📦 Installation & Usage

Check out the [Getting Started](https://simple-keyboard.com/react/getting-started) docs to begin.

## 📖 Documentation

Check out the [simple-keyboard documentation](https://simple-keyboard.com/react/documentation) site.

Feel free to browse the [Questions & Answers](https://simple-keyboard.com/qa-use-cases/) page for common use-cases.

### To run demo on your own computer

- Clone this repository
- `npm install`
- `npm start`
- Visit [http://localhost:3000/](http://localhost:3000/)

### Other versions

- [Vanilla JS](https://github.com/hodgef/simple-keyboard)
- [Angular](https://simple-keyboard.com/demo)
- [Vue.js](https://simple-keyboard.com/demo)

### Questions? Join the chat

<a href="https://discordapp.com/invite/SJexsCG" title="Join our Discord chat" target="_blank"><img src="https://discordapp.com/api/guilds/498978399801573396/widget.png?style=banner2" align="center"></a>

## 🎯 Compatibility

- Internet Explorer 11
- Edge (Spartan) 16+
- Edge (Anaheim/Edge Chromium) 79+
- Chrome 49+
- Safari 9+
- Firefox 57+
- iOS 9+

> Note: If you don't want to support old browsers, you can use the Modern Browsers bundle ([index.modern.js](https://github.com/hodgef/react-simple-keyboard/blob/master/build)).

## ✅ Contributing

PRs and issues are welcome. Feel free to submit any issues you have at:
[https://github.com/hodgef/react-simple-keyboard/issues](https://github.com/hodgef/react-simple-keyboard/issues)

---
_Source: https://npm.io/package/react-simple-keyboard · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
