Back to directory
crittermike avatar
crittermike / shortkeys

shortkeys

A browser extension for custom keyboard shortcuts

1,235

Stars

177

Forks

24

Watchers

NOASSERTION

License

Shortkeys logo

Shortkeys

Custom keyboard shortcuts for your browser
A cross-browser extension for Chrome, Firefox, Edge, and Opera with 200,000+ Chrome users.

Chrome Web Store · Firefox Add-ons · Website · Issues


Shortkeys options page

Features

  • 125+ built-in actions across 11 categories: scrolling, tabs, navigation, video controls, search, bookmarks, windows, zooming, page tools, page scripts, and more
  • 🔍 Command palette - click the icon or set a shortcut to search and trigger any action
  • 📦 9 curated shortcut packs - one-click install for Vim, Emacs, YouTube, Productivity, Developer, Reading, Tab Manager, Keyboard Power, and Media Control
  • ☁️ Cloud sync with automatic local fallback when data exceeds sync quota
  • 📁 Groups - organize shortcuts into collapsible, renamable sections with bulk enable/disable
  • 🔗 Macro chaining - chain multiple actions into a single shortcut
  • 🌐 Site filtering - all sites, blocklist, or allowlist per shortcut
  • 🎬 Live reload - shortcuts update in all tabs instantly, no page refresh needed
  • 🔗 Shareable links - generate a URL to share shortcuts or groups with anyone
  • ⌨️ Shortcut recorder with multi-key sequence support (e.g. g i, g h)
  • ⚠️ Conflict detection - platform-aware warnings for browser default clashes
  • 🌙 Dark mode following system preference
  • 📜 Userscript import from Greasyfork and OpenUserJS
  • 🧙 Guided onboarding wizard for new users
  • ↩️ Undo/redo in the settings page
More screenshots

Custom JavaScript editor

Custom JavaScript editor

Macro chaining

Macro chaining

Dark mode

Dark mode

Install

Chrome
Chrome
Firefox
Firefox
Edge
Edge
Opera
Opera

Or build from source:

npm install
npm run build          # Chrome → .output/chrome-mv3/
npm run build:firefox  # Firefox → .output/firefox-mv2/

Development

npm run dev            # Chrome dev mode with hot reload
npm run dev:firefox    # Firefox dev mode
npm test               # Run all tests (722 tests across 25 files)
npm run test:watch     # Watch mode
npm run test:coverage  # With coverage report

Project structure

src/
├── entrypoints/
│   ├── background.ts        # Service worker: messaging, action dispatch, storage sync
│   ├── content.ts           # Content script: Mousetrap key bindings, cheat sheet, dark mode
│   ├── options/             # Options page (Vue 3 SPA)
│   └── popup/               # Command palette popup
├── actions/                 # Action handlers and helpers
├── components/              # Vue components (CodeEditor, SearchSelect, ShortcutRecorder)
├── composables/             # Vue composables (useShortcuts)
├── packs/                   # 9 curated shortcut pack collections
└── utils/                   # Storage, URL matching, conflict detection, JS snippets

site/                        # shortkeys.app (Astro SSG, deployed to Netlify)
tests/                       # 722 tests across 25 files
marketing/                   # Store listing copy, screenshot plans, promo assets

Tech stack

  • WXT - Vite-based browser extension framework
  • Vue 3 - Composition API with <script setup>
  • TypeScript throughout
  • Vitest - 722 tests across 25 files
  • Mousetrap - keyboard shortcut detection
  • CodeMirror 6 - JavaScript editor with syntax highlighting
  • Astro - community website (shortkeys.app)

Contributing

Pull requests are welcome. Please ensure all tests pass (npm test) before submitting. For bugs and feature requests, open a GitHub issue.

Support

Shortkeys is free and open source. If you find it useful, consider supporting development:

Credits and license

Icon by Freepik from Flaticon.

Licensed under the MIT License.

Releases

Mar 16, 2026

Download .zip

v5.0.1 Patch release fixing the bookmark dropdown and several other issues reported after v5.0.0. Bug Fixes

🔴 Bookmark dropdown empty after upgrading to v5 — The bookmark picker showed "No matching...

v5.0.1-beta.1

Pre-release

Mar 16, 2026

Download .zip

Changes since v5.0.0 Bug Fixes

🔴 Bookmark dropdown empty after upgrading to v5 — The bookmark picker in shortcut settings showed "No matching actions" because bookmarks loaded by the options page we...

Mar 13, 2026

Download .zip

Shortkeys v5.0.0 🎉 A complete redesign and major feature update. Fully backward-compatible with v4 data — your shortcuts carry over automatically. What's New

Completely redesigned settings page with...

v5.0.0-beta.2

Pre-release

Mar 13, 2026

Download .zip

Changes since beta.1

Restore collapsegroup — Chrome 146 fixed the tab-group repaint bug, so collapsegroup works again (#803) Make tabGroups optional permission — Upgrading from v4 → v5 no longer trig...

v5.0.0-beta.1

Pre-release

Mar 8, 2026

Download .zip

Changes since v5.0.0-alpha.7 New features

9 tab group actions: group/ungroup tabs, toggle group, name group, collapse/expand/toggle collapse, select tab left/right (#787) Collapsed group awareness fo...