Skip to main content
Toollyz

Search tools

Search for a command to run...

Keyboard Shortcut Generator

Compose a printable shortcut cheat sheet — group shortcuts into sections (General, Editing, Navigation…), pair each action with one or more key chords. Mod-keys auto-render as styled keyboard chips. Export Markdown table or plain-text for repos, docs, Notion or your terminal. 100% offline.

What is the Keyboard Shortcut Generator?

Keyboard Shortcut Generator is a cheat-sheet editor for any app's shortcuts. Compose your sheet section-by-section (General, Editing, Navigation, Refactor — the editor ships with a complete VS Code sample), each row pairing an action description with a key chord string like `Cmd+Shift+P` or `Ctrl K Ctrl C`. The chord parser splits on `+` or whitespace so both notations work; pipe-separated chords (`Alt+Up | Alt+Down`) render as 'or' alternatives. The live preview renders every chord as styled `<kbd>` chips — the same shadcn-ish look you'd hand-code, but generated automatically. Two export targets: Markdown table (pasteable into GitHub, Notion, Linear, Obsidian, or any docs site that renders Markdown) and plain text with aligned columns (pasteable into terminal, Slack, email). The sheet auto-saves to localStorage so refresh doesn't lose your work.

How to use it

  1. Pick the 'Sample (VS Code)' button to load a complete cheat sheet, or start from scratch.
  2. Name your sheet at the top (becomes the H1 in Markdown export).
  3. Click 'Add section' to create a new group; rename it inline.
  4. Inside each section, click 'Row' to add a shortcut — fill the action description and the key chord.
  5. Use `+` or spaces to split a chord (`Cmd+Shift+P` or `Ctrl K`), `|` to list alternatives (`Cmd+1 | Ctrl+1`).
  6. Hit 'Copy Markdown' for repos/Notion or 'Plain text' for terminal/Slack.

Benefits

  • Sectioned layout — group related shortcuts together with named headings.
  • Styled `<kbd>` chips with shadow and monospace key labels — the same look you'd hand-code.
  • Two chord parsers — `+`/space-separated for one chord, `|` for alternative chords.
  • Markdown table export — pasteable into GitHub READMEs, Notion, Linear, Obsidian.
  • Plain-text export with aligned columns — pasteable into terminal, Slack, email.
  • Live preview that mirrors the export output.
  • Auto-saves to localStorage so refresh doesn't lose your work.
  • Add or remove sections and rows freely — the layout adapts.
  • Runs 100% in your browser — no server, no upload.

Frequently asked questions

What chord syntax does the parser understand?

Two separators: `+` (e.g. `Cmd+Shift+P`) and whitespace (e.g. `Ctrl K Ctrl C` for two-stroke chords). Pipe character `|` separates alternative chords for the same action (`Alt+Up | Alt+Down`). Order doesn't matter — every part renders as its own chip.

How do I represent two-stroke chords like VS Code's `Ctrl K Ctrl C`?

Just write it with spaces: `Ctrl K Ctrl C`. The parser splits on whitespace too, so every key gets its own chip.

Why no PNG export?

Markdown + plain text cover the actual use cases (README, internal docs, Notion). For an image-style cheat sheet, take a screenshot of the live preview — or use the Code Screenshot Generator for syntax-highlighted code snippets.

Can I export as PDF?

Use the browser's Print → Save as PDF — the layout is print-friendly (the preview uses a clean two-column grid). For a more polished PDF, paste the Markdown export into a tool like Pandoc.

Does the layout adapt to a single column on mobile?

Yes — the sections grid switches from 2-col to 1-col below the `sm:` breakpoint, so the cheat sheet stays readable on phone screens.

How are special keys like arrows rendered?

As plain text inside the `<kbd>` chip — `Up`, `Down`, `Left`, `Right`, `Enter`, `Esc`, `Tab`, etc. No Unicode-arrow normalisation; type the form you want users to see.

Can I have shortcuts that vary by OS (Mac vs Windows)?

Use the pipe `|` syntax: `Cmd+P | Ctrl+P`. The chips render both with an 'or' between them, making the platform parity explicit.

Does the Markdown export use back-tick formatting?

Yes — each key is wrapped in back-ticks so the chord renders as inline code in Markdown-aware viewers. GitHub, Notion and most static-site generators preserve this.

Is there a max number of sections / rows?

No hard cap — but the preview is grid-based so very long sheets stay scannable. If you're building a 200-row cheat sheet you probably want to split into multiple sheets or pages.

Are my edits saved?

Yes — the full sheet (title + sections + rows) persists in localStorage under `toollyz:kb-shortcuts`.

Is anything uploaded?

No. Editing and export run entirely in your browser.