https://github.com/TanStack/hotkeys
Type-Safe keyboard shortcuts library with awesome devtools
https://github.com/TanStack/hotkeys
Last synced: 5 days ago
JSON representation
Type-Safe keyboard shortcuts library with awesome devtools
- Host: GitHub
- URL: https://github.com/TanStack/hotkeys
- Owner: TanStack
- License: mit
- Created: 2026-01-21T13:20:38.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-03-31T17:52:17.000Z (18 days ago)
- Last Synced: 2026-04-02T02:31:28.448Z (16 days ago)
- Language: TypeScript
- Size: 1.44 MB
- Stars: 570
- Watchers: 3
- Forks: 36
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- fucking-awesome-angular - @TanStack/hotkeys - Type-Safe keyboard shortcuts library with awesome devtools. (Third Party Components / Keyboard Mouse)
- awesome-angular - @TanStack/hotkeys - Type-Safe keyboard shortcuts library with awesome devtools. (Third Party Components / Keyboard Mouse)
README
### [Become a Sponsor!](https://github.com/sponsors/tannerlinsley/)
# TanStack Hotkeys
> [!NOTE]
> TanStack Hotkeys is alpha. We are actively developing the library and are open to feedback and contributions.
Type-safe keyboard shortcuts for the web. Template-string bindings, parsed objects, a cross-platform `Mod` key, a singleton Hotkey Manager, and utilities for cheatsheet UIs—built to stay SSR-friendly.
- Type-safe bindings — template strings (`Mod+Shift+S`, `Escape`) or parsed objects for full control
- Flexible options — `keydown`/`keyup`, `preventDefault`, `stopPropagation`, conditional enabled, `requireReset`
- Cross-platform Mod — maps to Cmd on macOS and Ctrl on Windows/Linux
- Batteries included — validation + matching, sequences (Vim-style), key-state tracking, recorder UI helpers, framework adapters, and devtools
### Read the docs →
> [!NOTE]
> You may know **TanStack Hotkeys** by our adapter names, too!
>
> - [**React Hotkeys**](https://tanstack.com/hotkeys/latest/docs/framework/react/react-hotkeys)
> - [**Preact Hotkeys**](https://tanstack.com/hotkeys/latest/docs/framework/preact/preact-hotkeys)
> - [**Solid Hotkeys**](https://tanstack.com/hotkeys/latest/docs/framework/solid/reference)
> - [**Angular Hotkeys**](https://tanstack.com/hotkeys/latest/docs/framework/angular/reference)
> - [**Vue Hotkeys**](https://tanstack.com/hotkeys/latest/docs/framework/vue/reference)
> - [**Lit Hotkeys**](https://tanstack.com/hotkeys/latest/docs/framework/lit/reference)
> - [**Svelte Hotkeys**](https://tanstack.com/hotkeys/latest/docs/framework/svelte/reference)
## Get Involved
- We welcome issues and pull requests!
- Participate in [GitHub discussions](https://github.com/TanStack/hotkeys/discussions)
- Chat with the community on [Discord](https://discord.com/invite/WrRKjPJ)
- See [CONTRIBUTING.md](./CONTRIBUTING.md) for setup instructions
## Partners
We're looking for TanStack Hotkeys Partners to join our mission! Partner with us to push the boundaries of TanStack Hotkeys and build amazing things together.
LET'S CHAT
## Explore the TanStack Ecosystem
- TanStack Config – Tooling for JS/TS packages
- TanStack DB – Reactive sync client store
- TanStack DevTools – Unified devtools panel
- TanStack Form – Type‑safe form state
- TanStack Hotkeys – Type‑safe keyboard shortcuts
- TanStack Query – Async state & caching
- TanStack Ranger – Range & slider primitives
- TanStack Router – Type‑safe routing, caching & URL state
- TanStack Start – Full‑stack SSR & streaming
- TanStack Store – Reactive data store
- TanStack Table – Headless datagrids
- TanStack Virtual – Virtualized rendering
… and more at TanStack.com »