Website profiles · Technology insights · Alternatives

shortkeys.app

Browse and share custom keyboard shortcuts for Chrome and Firefox. Install shortcut packs for Vim, YouTube, GitHub, and more. Free and open source.

No paid content found
Visit website
Profile views 6 Outbound visits 2 Normal
Shortkeys Full homepage screenshot

At a glance

Category
Development
Language
English
Paid-content signal
No paid content foundObserved
Registered
2019
Hosting
NetlifyInferred
HTTPS certificate trusted
PassedObserved
Last updated

Website review

This review may include AI-generated content and is not individually verified. Domain, certificate and other facts come from the observed data on this page.

What is Shortkeys?

Shortkeys is a browser extension that lets you assign your own keyboard shortcuts to browser actions. Instead of relying on the handful of built-in hotkeys Chrome or Firefox provides, you decide which key combination does what—from switching tabs and scrolling to running custom JavaScript.

It is aimed at people who spend a lot of time in a browser and want to reduce mouse trips: developers, keyboard-centric users, and anyone who has wished a repetitive click had a shortcut.

What you can actually do with it

  • Bind keys to built-in actions. The extension lists 100+ actions across categories such as scrolling, navigation, tabs, zoom, bookmarks, downloads, and video controls. Examples shown on the site include scrolling to the bottom, moving to the next tab, and muting audio.
  • Run your own JavaScript. You can attach a shortcut to arbitrary JS, edited in a syntax-highlighted code editor.
  • Use shortcut packs. Curated collections for tools and sites like Vim, YouTube, and GitHub can be installed in one click rather than configured by hand.
  • Chain actions into macros. Multiple steps can run from a single shortcut, with optional delays between them.
  • Record key combos. A recorder captures the keys you press, including multi-key sequences such as Vim's g g.
  • Organize and share. Shortcuts can be grouped into collapsible sets that you enable, disable, or share as a unit.

Trade-offs to weigh

The main cost is setup time: a blank shortcut list is not useful until you populate it, and packs may not match your habits. Custom JavaScript is powerful but is still code you are responsible for—a bad script runs whenever you trigger it. Cloud sync is described as working through your Google account across Chrome instances, which is convenient if you live in Chrome but less relevant if you split time between browsers.

A practical starting point

Pick three actions you perform many times a day—closing a tab, scrolling to the top, and opening a new tab are common candidates—and bind only those first. If you already use Vim keybindings or spend hours on YouTube or GitHub, try the matching pack before building your own set, then edit the parts that clash with your muscle memory. Shortkeys is free and open source, so the experiment costs nothing but a few minutes.

How do I install and set up Shortkeys in Chrome or Firefox?

Shortkeys is a browser extension that lets you assign keyboard shortcuts to built-in actions or custom JavaScript. Setup is the same idea in both browsers: install the extension, open its settings page, then record a key combination for the action you want.

Install

  • Chrome: open the Chrome Web Store listing for Shortkeys and choose Add to Chrome, then confirm the permission prompt.
  • Firefox: open the Firefox add-ons listing for Shortkeys and choose Add to Firefox, then confirm.
  • After installation, the extension appears in your browser toolbar. In Chrome, you can pin it via the puzzle-piece extensions menu so the icon stays visible.

Configure your first shortcut

  1. Click the Shortkeys toolbar icon, or open the extension's options page (chrome-extension://shortkeys/options.html in Chrome).
  2. Choose an action from the built-in list — tab management, scrolling, navigation, zoom, bookmarks, downloads or video controls are among the categories.
  3. Click Record and press the key combination you want. The recorder supports multi-key sequences, so something like Vim's g g is possible.
  4. Save. The shortcut is active immediately on pages where the extension runs.

If you'd rather not build from scratch, the Packs section offers curated collections such as Vim, YouTube or GitHub shortcuts that install with one click. Shortcuts can also be organised into collapsible groups, and whole groups can be toggled on or off or shared.

What to expect once it's running

  • Custom JavaScript: you can bind a shortcut to arbitrary JS, edited in a syntax-highlighted editor. This is the most powerful and also the most fragile option — a bad script can break the page you're on.
  • Macros: chain several actions into one shortcut, with delays between steps for timing-sensitive tasks.
  • Command palette: clicking the extension icon shows a searchable list of your active shortcuts, useful when you forget a binding.
  • Sync: in Chrome, shortcuts sync across your signed-in instances through your Google account.

Practical caveats

Shortcuts only fire on pages where the extension has permission to run; browser-internal pages and some sites block extensions, so a binding may work on one tab and not another. Avoid combinations the browser or a site already uses — Ctrl+W, Ctrl+T and similar are reserved and will be intercepted first. Site-specific tools can conflict too: YouTube and GitHub already have their own key handling, which is why the ready-made packs are worth trying before writing your own bindings.

A sensible first step: install one pack that matches a site you use daily, confirm the keys feel natural, then add two or three personal shortcuts for actions you repeat most — scrolling to the bottom of a page or jumping to the next tab are common starting points.

Can Shortkeys run custom JavaScript on a keyboard shortcut, and what are the limitations?

Yes. Shortkeys lets you bind a keyboard shortcut to a custom JavaScript action. On the extension's options page you pick (or create) a shortcut, choose the custom JavaScript action, and write your code in a built-in CodeMirror editor that provides syntax highlighting. When you press the key combination, that script runs in the context of the current page.

What the page evidence supports

  • Custom JavaScript is a first-class action. The site lists "Custom JavaScript" alongside the 100+ built-in actions, with a full editor rather than a plain text box.
  • It can be combined with other automation. Shortcuts support macros, so a JavaScript step can be chained with built-in actions and delays in a single key press.
  • It is scriptable at scale. Shortcut packs, groups, and a command palette make it practical to manage many JavaScript shortcuts rather than one or two.

Practical limitations to expect

The site does not publish a detailed limitations list, so treat the following as general browser-extension constraints rather than stated product specs:

  • Page context matters. Scripts run against the page you are on. Browser-internal pages, the new-tab page, extension galleries and PDF viewers typically block injected code, so the same shortcut may work on one tab and silently fail on another.
  • Site policies can interfere. Pages with a strict Content Security Policy or heavy sandboxing may prevent certain operations.
  • Permissions and timing. A script that runs before the page finishes loading may not find the elements it expects. Delays in a macro help, but timing is still your responsibility.
  • Maintenance. JavaScript shortcuts depend on a site's DOM. When the site changes its markup, your script breaks until you update the selectors.

A concrete example

Suppose you read long documentation pages and want one key to jump to the end, expand every collapsed section, and copy the page title. Bind a shortcut to a macro: a "scroll to bottom" built-in action, a short delay, then custom JavaScript that clicks each collapsed element and writes the title to the clipboard. This is exactly the kind of multi-step task a single built-in action cannot do.

Decision criterion

Choose the custom JavaScript action when the behavior you want does not exist among the built-in actions — computed values, conditional logic, or interactions with a specific site's interface. Stay with built-in actions and shortcut packs when a standard action already covers it, since built-ins survive site redesigns and need no debugging.

Next step

Install the extension, open its settings, and create one small script against a site you use daily — for example, toggling a reading mode or clearing a form. Verify it on that site, then check whether it fails on a browser-internal page; that quick test tells you how much of your workflow you can safely move to JavaScript shortcuts.

How do Shortcut Packs for Vim, YouTube, or GitHub work and can I create my own?

Shortcut Packs are pre-built collections of keyboard shortcuts that you install with one click, rather than configuring each shortcut individually. According to the site, they cover setups like Vim, YouTube, and GitHub, so a pack is essentially someone else's curated mapping of keys to actions for a particular site or workflow. Once installed, those shortcuts become active in your browser alongside anything you've configured yourself.

Shortcuts can also be organized into collapsible groups, which you can enable, disable, or share as a unit. That group structure is what makes creating your own practical: you can build a personal set of shortcuts, keep them grouped by purpose (say, one group for tab management, another for a specific site), and share the whole group rather than exporting shortcuts one at a time.

Creating your own

The site describes the same path for custom shortcuts as for built-in ones: pick an action or write custom JavaScript, then record your key combination. The recorder supports multi-key sequences, so patterns like Vim's g g are possible, and macros let you chain multiple actions into a single shortcut with optional delays between steps.

A practical way to start:

  1. Install a pack closest to what you want, such as the Vim pack if you already think in Vim motions.
  2. Open the settings page and look at how that pack's shortcuts are grouped and named.
  3. Disable or edit the entries that conflict with your habits.
  4. Add your own shortcuts into a new group, using built-in actions first and custom JavaScript only where no action fits.
  5. Share the group if someone else wants the same setup.

Who this suits

Situation Fit
You want Vim-style navigation in the browser A ready-made pack gets you there fastest
You want one or two personal shortcuts Configure directly; a pack may add keys you don't want
You want to automate a repetitive site task Macros plus custom JavaScript, grouped and shared
You work across several Chrome installs Cloud sync carries your shortcuts over via your Google account

The main trade-off is that packs are someone else's choices. They can collide with shortcuts you already use or with a site's own key bindings, so expect to prune after installing. Custom JavaScript is the most flexible option but also the one most likely to break when a site changes, since it depends on page structure rather than a stable built-in action.

Next step: install one pack, open the command palette from the extension icon to see every active shortcut at a glance, then use that list to spot overlaps before adding your own group.

Does Shortkeys sync my shortcuts across browsers, and how does the sync work?

Yes, but only within Chrome-based browsers and only through your Google account. Shortkeys' page states that shortcuts "automatically sync across all your Chrome instances via your Google account." That wording describes Chrome-to-Chrome sync, not a cross-engine service: a Firefox install and a Chrome install are separate, and the extension's own sync does not bridge them.

What actually travels

  • Shortcut definitions and their assigned key combos, since those are the settings you configure.
  • Groups, because the page describes enabling, disabling and sharing entire groups as a unit.
  • Likely the same settings store that holds custom JavaScript and macros, since those are configured alongside shortcuts. Treat this as the practical reading of "your shortcuts," not a separate documented guarantee.

What does not

  • Browser-level state: open tabs, history, bookmarks or per-site data are not part of the extension's settings.
  • Anything on a Firefox profile. If you use both Chrome and Firefox, plan on exporting or recreating your setup by hand, or lean on the shareable packs and groups the extension provides.

How the sync mechanism works

Shortkeys relies on Chrome's built-in extension sync rather than running its own account system. That has three consequences worth knowing:

  1. No separate login. There is no Shortkeys account or password; access follows whichever Google profile is signed into that Chrome installation.
  2. Sync is asynchronous. Chrome batches extension settings, so a change made on a laptop may not appear on a desktop immediately. If a shortcut seems missing, check that both instances are signed into the same profile before assuming data loss.
  3. Sync must be enabled at the browser level. If Chrome sync is off, or if extension sync is excluded from your sync settings, Shortkeys has nothing to ride on — the extension will still work locally, but nothing propagates.

A concrete scenario

You configure a Vim-style setup on your work desktop: g g to scroll to top, Shift + K for the next tab, M to mute. Sign into the same Google account on a personal Chromebook and those bindings should arrive without you rebuilding them. Open Firefox on the same machine and you start from zero unless you install a pack and re-record your combos.

Decision criteria

  • Single Chrome profile across machines: sync is effectively automatic; rely on it.
  • Multiple Chrome profiles (work vs. personal): shortcuts stay siloed per profile, which is often what you want, but it means deliberate duplication if you want parity.
  • Chrome plus Firefox: treat them as two separate installations. Use the built-in packs to get a consistent baseline quickly, then adjust.
  • Sensitive custom JavaScript: if your shortcuts run scripts containing tokens or internal URLs, remember those settings are stored in your Google account's synced extension data.

If cross-browser portability matters more than convenience, a browser-agnostic tool is a better fit — for example AutoHotkey on Windows for system-wide hotkeys, or Keyboard Maestro on macOS. Both operate outside the browser, so they work identically in Chrome and Firefox, at the cost of being per-machine rather than account-synced.

Next step: open Shortkeys' options page in each browser you use and compare the group list side by side. That single check tells you immediately whether sync is doing its job or whether you need to export and rebuild.

Is Shortkeys free and open source, and what data does it collect?

Yes. Shortkeys is free and open source, according to its own site. The extension is available for Chrome and Firefox, and the page describes it as "Free & open source, forever." It lists no paid tier, subscription, or checkout flow.

What data does it collect?

The site does not publish a formal privacy policy or data-collection disclosure on the page you supplied, so the honest answer is: the page itself does not say what is collected. What it does describe is functionality that involves data handling:

  • Cloud sync. Shortcuts sync across Chrome instances "via your Google account." That means your shortcut configurations leave your device and are stored in association with your Google account, not only locally.
  • Custom JavaScript. You can run arbitrary JavaScript from a shortcut, and shortcuts can open URLs, read the clipboard, and copy page content. These are capabilities you configure, but they mean the extension can act on page content when you trigger it.
  • Sharing shortcuts. The site offers sharing of shortcuts and whole groups, which implies some mechanism for exporting or publishing configurations.

For a definitive answer on telemetry, analytics, or what is stored server-side, check the extension's Chrome Web Store or Firefox Add-ons listing, which carries a developer-provided privacy disclosure, and the project's GitHub repository, where the code and any privacy notes live.

Practical decision guide

Your situation What to weigh
You want local-only shortcuts Sync is optional in most setups; skip it and keep configs on-device, but verify in settings
You handle sensitive pages (banking, health, internal tools) Custom JavaScript and clipboard actions run with your permissions; avoid assigning them on those sites
You need an auditable tool Open source means you or someone technical can inspect the code rather than trust a description
You want zero account tie-in Sync via a Google account is the main account-linked feature; using the extension without it limits cross-device convenience

Next step: if data handling is the deciding factor, open the GitHub repository linked from Shortkeys and read the source or issues for network calls, then cross-check the browser store listing's privacy section before installing.

Related questions

More questions →
What Are Open-Source UI Element Libraries and How Do They Differ From UI Frameworks?

An open-source UI element library is a collection of individual, ready-made interface pieces—buttons, cards, inputs, toggles, loaders—that you copy into your own project and adapt. A UI framework, by contrast, is a structured system of components, conventions, and often a theming layer that governs how your whole interface is built. The practical difference: an element library gives you a snippet; a framework gives you a way of working. If you need a polished button in ten minutes, reach for the element library. If you're building a 40-screen product with a team, you probably want the framework.

What "open-source UI element library" actually means

The term gets used loosely, so it helps to separate the parts:

  • Open-source: the code is publicly available, and the license tells you what you may do with it—copy, modify, redistribute, or use commercially.
  • UI element: a single, self-contained piece of interface, usually small enough to read in one sitting. A button with hover states, a pricing card, a search field.
  • Library: a browsable, searchable collection of those elements, typically contributed by many different people.

On a site like Uiverse, elements are shared by a community and written in plain CSS or Tailwind. You find one you like, copy the markup and styles, paste them into your project, and adjust colors, spacing, and text to fit. There's no package to install and no build step required—which is exactly the appeal, and also the source of most of the confusion.

Element library vs. UI framework: the core differences

Dimension Open-source UI element library UI framework / design system
Unit of reuse A single snippet you copy A component you import or call
Installation None; paste into your code Package install, config, sometimes a provider
Consistency Depends on you; each element may look different Enforced by shared tokens and APIs
Theming Manual edits per element Central theme/config file
Updates You own the copy; no upstream updates Version bumps bring fixes and changes
Accessibility Varies per contributor; must be checked Usually tested and documented
Best for Prototypes, landing pages, small sites, one-off needs Multi-page apps, teams, long-lived products
Learning curve Low—read the CSS Higher—learn the API and conventions

The table isn't a verdict. It's a map of trade-offs. Element libraries win on speed and freedom; frameworks win on consistency and maintenance.

Licensing and attribution: what to check before you paste

This is where people get into trouble, and it's worth slowing down for.

  1. Find the license. Every element or collection should state one. Common open-source licenses include MIT, Apache-2.0, and BSD. Some projects use copyleft licenses like GPL, which can impose obligations if you redistribute your code.
  2. Understand what the license permits. MIT and Apache-2.0 are permissive: you can typically use the code in commercial and closed-source projects. Copyleft licenses may require you to release derivative source under the same terms.
  3. Check attribution requirements. Permissive licenses usually require you to keep the copyright notice and license text somewhere in your project. That's a real obligation, not a formality.
  4. Look for per-element terms. On community sites, the site's overall terms and the individual contributor's stated wishes may differ. If a contributor asks for credit, honor it.
  5. When in doubt, ask or avoid. If a snippet has no license at all, you don't have clear permission to reuse it. Treat "no license" as "not open source," even if the code is publicly visible.

This article is general information, not legal advice. For commercial products with real exposure, have someone qualified review the licenses you're relying on.

How to use a community element in your project: a practical workflow

Here's a repeatable process that avoids most of the usual mess.

1. Start from a real need, not a browsing session

Decide what you need first—"a compact primary button with a loading state"—then search. Browsing aimlessly produces a pile of pretty snippets that don't fit together.

2. Copy the smallest version that works

Take the markup and the styles. Strip anything you don't need: demo wrappers, extra animations, decorative layers. Less code means fewer surprises.

3. Convert it to your conventions

If your project uses design tokens or CSS variables, replace hard-coded values:

/* Before: hard-coded */
.button { background: #4f46e5; border-radius: 8px; }

/* After: token-based */
.button { background: var(--color-primary); border-radius: var(--radius-md); }

This one step is what keeps a copied element from looking like a foreign object in your UI.

4. Check accessibility before you ship

Community elements vary widely here. Verify at minimum:

  • Keyboard focus is visible and the element is reachable by Tab.
  • Color contrast meets WCAG AA (4.5:1 for normal text).
  • Interactive elements use semantic HTML (<button>, not a clickable <div>).
  • Form inputs have associated labels.
  • Motion respects prefers-reduced-motion.

5. Test in context

Paste it into a real page with real content. Long labels, small screens, and dark mode break more copied elements than anything else.

6. Note where it came from

Keep a short comment or an internal credits file: source, license, date. Future you—and your legal reviewer—will be grateful.

Where element libraries genuinely shine

  • Prototypes and demos: you need something clickable today, not a design system.
  • Landing pages and marketing sites: a handful of distinctive elements, each custom.
  • Filling gaps: your framework lacks one specific component, and you don't want to build it from scratch.
  • Learning: reading well-made CSS is one of the fastest ways to improve.
  • Small projects: a personal site doesn't need a theming architecture.

Where they fall short

  • Consistency at scale: ten elements from ten contributors rarely look like one product.
  • Maintenance: you own every copy. When your design changes, you edit each one.
  • Accessibility debt: you inherit whatever the contributor did or didn't do.
  • No upstream fixes: a bug fixed in the original won't reach your copy.
  • Integration friction: different naming conventions, different units, different assumptions about resets.

When to choose which

Choose an element library when the scope is small, the timeline is short, or you need a few distinctive pieces rather than a whole system.

Choose a framework or design system when multiple people build multiple screens over months, when consistency is a product requirement, or when accessibility and theming need to be guaranteed rather than checked.

A hybrid works well for many teams: adopt a framework for the structural components—forms, navigation, layout—and borrow individual elements for the places where you want personality. Just route every borrowed element through the same token and accessibility checks, so it lands as part of your system rather than beside it.

The short version: open-source UI element libraries are a fast, flexible way to get good-looking interface pieces into a project. They are not a substitute for a design system, and the license and accessibility details are the part worth reading carefully.

Which browsers does Shortkeys support and how do I install it?

Shortkeys supports Chrome and Firefox. You install it as a browser extension from each browser's official add-on store, then configure shortcuts on the extension's settings page. The extension is free and open source, and the site states it is "free & open source, forever."

Supported browsers

Browser Support Notes
Chrome Yes Site references 200,000+ Chrome users and Chrome cloud sync via your Google account
Firefox Yes Listed alongside Chrome on the site with an install option

The site presents Chrome and Firefox as the two supported browsers. No other browsers are named in the available material, so treat Chrome and Firefox as the confirmed options.

How to install

The site describes a three-step flow: Install → Configure → Execute.

  1. Install — Add Shortkeys to your browser from its store listing. The site's install path points to the browser extension (the settings page lives at a chrome-extension://shortkeys/options.html address in Chrome).
  2. Configure — Open the extension's settings page. Pick one of the 100+ built-in actions or write custom JavaScript, then record your key combination.
  3. Execute — Press your keys in the browser and the assigned action runs.

Recording a shortcut

The settings page includes a Shortcut Recorder: click Record, then press your key combo. It supports multi-key sequences, such as Vim's g g.

What you can set up after installing

  • 100+ built-in actions across categories including scrolling (12 actions), navigation (18), and tabs (29), plus zoom, bookmarks, downloads, and video controls.
  • Custom JavaScript — run any JS from a shortcut, edited in a CodeMirror editor with syntax highlighting and the One Dark theme.
  • Shortcut Packs — one-click installs of curated collections like Vim, YouTube, and GitHub.
  • Groups — organize shortcuts into collapsible groups you can enable, disable, or share as a unit.
  • Macros — chain multiple actions into one shortcut, with optional delays between steps.
  • Command Palette — click the extension icon for a searchable list of your active shortcuts.

Common points to check

  • Cloud sync is Chrome-specific in the available material. The site says shortcuts sync across Chrome instances via your Google account. No equivalent sync mechanism is described for Firefox.
  • Settings live in the extension, not the browser's own shortcut editor. Chrome's built-in chrome://extensions/shortcuts page is a separate thing; Shortkeys has its own options page.
  • Dark mode follows your system theme on the settings page automatically.

If you use both Chrome and Firefox, you can install Shortkeys in each, but expect to configure shortcuts separately unless you rely on the sharing/group features to move them across.

What Are Shortkeys Shortcut Packs and How Do I Use Them?

Shortcut packs are pre-built collections of keyboard shortcuts that you install into Shortkeys with one click. Instead of configuring each key combination yourself, you pick a pack (Vim, YouTube, GitHub, and others), and its shortcuts are added to your current configuration. This is useful when you want a known set of behaviors — Vim-style navigation, for example — without building it action by action.

What a pack actually contains

A pack is a group of shortcuts, each mapping a key combination to one of Shortkeys' built-in actions or to custom JavaScript. Shortkeys ships with 100+ built-in actions organized by category, including:

  • Scrolling (12 actions): scroll to top/bottom, page down, scroll left/right, and "more" variants
  • Navigation (18 actions): go back/forward, reload, hard reload, copy URL, copy page title, open URL from clipboard, search Google/YouTube/Wikipedia/GitHub, and more
  • Tabs (29 actions): new tab, close tab, close other/left/right/duplicate tabs, and related tab management

A pack bundles a selection of these into a themed set, so installing it gives you a working shortcut scheme immediately.

How to install and use a pack

  1. Install the extension. Add Shortkeys to Chrome or Firefox. The site states it is free and open source.
  2. Open the packs section. Browse the curated collections — Vim, YouTube, GitHub, and others are named on the site.
  3. Install with one click. The pack's shortcuts are added to your current configuration.
  4. Test the keys. Press a combination from the pack and confirm the expected action runs. If a shortcut conflicts with an existing one, adjust or disable it in your configuration.
  5. Review and edit. Installed shortcuts behave like any other shortcut you created — you can change the key combo, swap the action, or move it into a group.

Managing what you install

Because packs land in your existing configuration, a few habits keep things clean:

  • Use groups. Shortcuts can be organized into collapsible groups, and you can enable, disable, or share an entire group at once. Putting each pack in its own group makes it easy to turn a whole scheme on or off.
  • Watch for conflicts. Two shortcuts bound to the same keys will not both fire. Check your list after installing a pack.
  • Record your own keys. If you want to change a pack shortcut, use the recorder: click Record and press your key combo. Multi-key sequences like Vim's g g are supported.
  • Chain actions with macros. Multiple actions can be combined into a single shortcut, with optional delays between steps.

Sharing and syncing

Shortcuts are not limited to what packs provide. You can create your own collections, group them, and share entire groups. On Chrome, shortcuts sync automatically across your browser instances through your Google account, so a pack you install on one machine follows you to others.

When packs are the right choice

Install a pack when you want a recognized, ready-made scheme — Vim-style movement, or shortcuts tuned for a specific site like YouTube or GitHub — and you would rather start from a working set than an empty list. Build shortcuts manually when your workflow is unusual, or when you only need a handful of actions and do not want a full scheme's worth of key bindings to manage.

What Is Shortkeys and What Does It Do?

Shortkeys is a free, open-source browser extension for Chrome and Firefox that lets you assign custom keyboard shortcuts to browser actions. Instead of being limited to the handful of shortcuts your browser ships with, you pick an action — or write your own JavaScript — and bind it to any key combination you like. It's aimed at anyone who wants to navigate tabs, scroll, control video, or trigger scripts without reaching for the mouse.

What you can actually do with it

The extension exposes over 100 built-in actions organized by category, plus a custom JavaScript option for anything not covered. The main categories:

Category Examples of actions
Scrolling Scroll to top/bottom, page up/down, scroll left/right
Navigation Go back/forward, reload, hard reload (bypass cache), copy URL, copy page title, open URL from clipboard, search Google/YouTube/Wikipedia/GitHub
Tabs New tab, new tab to right, close tab, close other/left/right tabs, close duplicates
Media & page Mute audio, video controls, zoom, bookmarks, downloads

Beyond single actions, Shortkeys supports:

  • Custom JavaScript — run any script from a shortcut, edited in a CodeMirror editor with syntax highlighting.
  • Macros — chain multiple actions into one shortcut, with optional delays between steps.
  • Multi-key sequences — bind things like Vim's g g, not just single combos.
  • Groups — organize shortcuts into collapsible groups you can enable, disable, or share as a unit.
  • Command palette — click the extension icon for a searchable list of your active shortcuts.

Shortcut packs

Rather than building everything from scratch, you can install curated collections with one click. The site names Vim, YouTube, and GitHub as examples. This is the fastest path if you already know a keybinding scheme (Vim especially) and want it to work in the browser.

How setup works

  1. Install the extension from the Chrome Web Store or Firefox add-ons.
  2. Configure — pick a built-in action or write custom JS, then click Record and press your key combination.
  3. Execute — press the keys and the action fires.

Settings live at the extension's options page (chrome-extension://shortkeys/options.html in Chrome). The settings page follows your system dark/light theme automatically, and shortcuts sync across Chrome instances through your Google account.

Who it's for

Shortkeys makes sense if you:

  • Want browser-level shortcuts the browser doesn't offer natively (close duplicate tabs, copy a page as a Markdown link, scroll to bottom).
  • Use Vim or another editor's keybindings and want consistency while browsing.
  • Need to trigger a repetitive JavaScript snippet on demand.

It's less useful if you only want a couple of shortcuts and don't want to configure anything — the value comes from the breadth of actions and the ability to customize.

The essentials

  • Platforms: Chrome and Firefox.
  • Price: Free and open source (the site states "free & open source, forever").
  • Scale: The site reports 200,000+ Chrome users.
  • Source and docs: Available on GitHub, with documentation linked from the site.
Can I run custom JavaScript with Shortkeys?

Yes. Shortkeys lets you bind any JavaScript code to a keyboard shortcut, and it ships a full CodeMirror editor with syntax highlighting and the One Dark theme for writing that code. This is aimed at advanced users who want automation or page-specific actions that the built-in actions don't cover. If you'd rather not write code, the extension also includes 100+ built-in actions you can assign instead.

How custom JavaScript fits into Shortkeys

Shortkeys is a browser extension for Chrome and Firefox that maps keyboard shortcuts to actions. Those actions come from two sources:

  • Built-in actions — over 100 predefined behaviors across categories like scrolling, navigation, and tabs (for example, scroll to bottom, next tab, mute audio).
  • Custom JavaScript — you write the code yourself, and it runs when you press the assigned key combo.

The custom JavaScript option is what makes Shortkeys extensible: anything the built-in list doesn't do, you can implement in code and trigger from the keyboard.

What the editor gives you

When you configure a custom JavaScript shortcut, you're working in a CodeMirror editor rather than a plain text box. According to the site, that editor provides:

  • Syntax highlighting
  • The One Dark theme

In practice this means your script is readable and easier to debug than it would be in a bare textarea, which matters once a shortcut grows past a couple of lines.

How to set up a custom JavaScript shortcut

The general flow mirrors how Shortkeys handles any shortcut:

  1. Install the extension in Chrome or Firefox.
  2. Open the options page (the extension's settings, shown in the site as chrome-extension://shortkeys/options.html).
  3. Add a new shortcut and choose the custom JavaScript action rather than a built-in one.
  4. Write your code in the CodeMirror editor.
  5. Record your key combo — click Record and press the keys you want. Multi-key sequences like Vim's g g are supported.
  6. Save and test by pressing the shortcut on a page and checking that the expected behavior happens.

The site describes this as three steps — install, configure, execute — with configuration covering "pick an action or write custom JS, then record your key combo."

Where custom JavaScript is the right choice

Use custom JavaScript when:

  • You need a page-specific action that no built-in action covers.
  • You want to chain logic that depends on the page's content or state.
  • You're comfortable debugging in the browser console when something doesn't fire as expected.

Use built-in actions instead when a matching action already exists — scrolling, tab management, navigation, zoom, bookmarks, downloads, and video controls are all covered, so there's often no reason to write code.

Related features that pair well with custom scripts

  • Macros — chain multiple actions into a single shortcut, with delays between steps for precise automation.
  • Groups — organize shortcuts into collapsible groups you can enable, disable, or share as a unit.
  • Shortcut Packs — install curated collections (Vim, YouTube, GitHub, and others) with one click, useful as a starting point before you add your own scripts.
  • Command Palette — click the extension icon for a searchable list of all your active shortcuts.
  • Cloud Sync — shortcuts sync across your Chrome instances via your Google account.

Things to keep in mind

  • Custom JavaScript runs in the context of the page you're on, so a script written for one site may not behave the same elsewhere.
  • Multi-key sequences are supported, so shortcuts like g g won't collide with single-key bindings if you set them up deliberately.
  • The extension is described as free and open source, and the site notes it's trusted by 200,000+ Chrome users.

If your goal is quick automation without writing code, start with the built-in actions and Shortcut Packs; reach for custom JavaScript only when you hit something the built-in list can't do.

Website Overview

An established domain and managed infrastructure suggest continuity of operations and may support dependable delivery, although neither guarantees service quality. Several search or sharing settings need attention. Together they may make snippets, preview images or preferred URLs less consistent across platforms.

Domain and Registration

Registered in 2019, this domain has about 6 years of history. That suggests continuity, although ownership and purpose may have changed. The registrar is Namecheap Inc., a widely used domain service provider. The domain uses the common .app extension, which is not an independent safety signal.

DNS and Email

Nameservers are provided by NS1, indicating managed DNS hosting. No CNAME was found; the observed records resolve directly to addresses. No MX record was found. A conventional explicit inbound-mail route is not configured. DNSSEC signatures were not detected, so this additional DNS authenticity protection is not confirmed. The lowest observed DNS TTL is 120 seconds.

TLS and Certificates

The public key uses EC with 256 bits. The server supplied a complete certificate chain. No organization name is present in the certificate; the available fields are consistent with domain validation. The certificate was issued by Let's Encrypt, commonly associated with automated certificate services. The certificate's total validity is about 89 days, consistent with a short renewal cycle.

HTTP and Browser Security

The response lacks these common security headers: CSP, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, clickjacking protection. No X-Powered-By header was found, reducing one common source of backend fingerprinting information. No obvious internal addresses or debug information were found in the headers. The Server header contains the custom value Netlify. No explicit CDN or WAF marker was found in the response headers.

Technology Stack Analysis

The public page identifies Netlify without precise versions, leaving fewer clues for version-specific scanning.

Search and Social Sharing

No homepage canonical URL was detected. If duplicate URLs exist, consolidation may be less explicit. Open Graph is partially configured; og:image is missing. The title has 54 characters, within a common display range. A meta description is present, with 147 characters. The observed directives allow indexing and link following.

Hosting and Email

DNSNS1
HostingNetlify
EmailUnknown
Approximate IP geolocation (inferred; a CDN or proxy may differ from the origin server) United States flagAshburn, Virginia, United States Inferred 18.208.88.157

Registration details

RDAP / WHOIS

RegistrarNamecheap Inc.
Registered2019-12-27
Expires2026-12-27
Domain statusactive
Nameserversdns1.p02.nsone.net、dns2.p02.nsone.net、dns3.p02.nsone.net、dns4.p02.nsone.net
DNSSECunsigned

DNS records

DNS

TypeNameValueTTLPriority
Awww.shortkeys.app18.208.88.157120—
Awww.shortkeys.app98.84.224.111120—
NSshortkeys.appdns1.p02.nsone.net3600—
NSshortkeys.appdns2.p02.nsone.net3600—
NSshortkeys.appdns3.p02.nsone.net3600—
NSshortkeys.appdns4.p02.nsone.net3600—

TLS and certificates

TLS / SSL

AssessmentNormal configuration
Supported protocolsTLSv1.2、TLSv1.3
Negotiated protocolTLSv1.3
Certificate subject*.shortkeys.app
IssuerLet's Encrypt
Valid until2026-11-21T00:14 · Remaining when checked: 42 days
Verification detailsCertificate trust: Passed · Hostname match: Passed

HTTP response headers

HTTP

HeaderValue
content-typetext/html; charset=UTF-8
cache-controlpublic,max-age=0,must-revalidate
serverNetlify
strict-transport-securitymax-age=31536000

Identified technologies

Netlify

Pages, Search and Sharing

Meta descriptionBrowse and share custom keyboard shortcuts for Chrome and Firefox. Install shortcut packs for Vim, YouTube, GitHub, and more. Free and open source.
Canonical URLNot detected
LanguageEnglish (default)
Twitter CardNot detected

No robots.txt found

No sitemaps found

User reviews (0)

  • No reviews yet.