kbd · keyboard shortcut · docs

Build kbd shortcuts for Markdown

Click keys to assemble a shortcut, then copy the kbd tag Markdown. Renders as boxed keys in GitHub, MkDocs and most doc engines.

Markdown Keyboard Key
Markdown
30 B
2 keys
Separator
plus
between keys
Keys
2
Ctrl+K
Output mode
kbd HTML
GitHub-safe
input · key palette
Ctrl ✕K ✕
Preview: Ctrl + K
output · markdown
<kbd>Ctrl</kbd> + <kbd>K</kbd>
Quick Start

How to write keyboard shortcuts

Use the kbd HTML tag inside Markdown — most renderers style it as a boxed key.

  1. 01

    Pick keys

    Tap modifiers and characters in order. Click a selected chip to remove it.

    Parsing runs through marked with GFM extensions enabled — tables, task lists, strikethrough, and fenced code blocks all match GitHub’s rendering.

    pickGFMmarkedCommonMarklive
    input · markdown2 · GFM
    Ctrl · K
    loaded · GFMGFM · ready
  2. 02

    Choose separator

    Plus is conventional for combos. Space is good for sequences like leader-key actions.

    Soft-break behaviour is configurable: by default a single newline becomes a space (CommonMark), toggle on for chat-style <br> insertion.

    sepsoft-breaksoptionsconfiglive
    sep · options+ · live
    <kbd>Ctrl</kbd> + <kbd>K</kbd>
    options applied · livelive
  3. 03

    Preview

    The live preview shows how the rendered Markdown looks in a doc.

    The preview is scoped under a .mde class so its CSS doesn’t bleed into the rest of the page. Output HTML is whitespace-controlled for clean diffs.

    previewscoped CSSrenderstable
    render · renderedok · ready
    [Ctrl] + [K]
    rendered · liverendered
  4. 04

    Copy snippet

    Paste into your README, blog, or docs page.

    Export covers both raw Markdown and rendered HTML; downloads stream as text/markdown or text/html via Blob + object URL.

    exportclipboard.md.htmlblob
    ✓ · exportedready · done
    ✓ Copied
    shipped · ready to shipsuccess
Pro tips

Author Markdown that renders everywhere

GFM is the safe default

GitHub-Flavored Markdown is the de-facto baseline (tables, task lists, strikethrough). CommonMark is stricter but ubiquitous as a fallback.

Soft-break behaviour varies

A single newline is a space in CommonMark, a <br> in GFM. Toggle soft breaks when source matters.

Escape inside code fences

Backticks inside fenced blocks need a longer fence — three becomes four. Use ~~~ if your content has many backticks.

Anchors are slugified

GitHub lowercases, strips punctuation, and joins with hyphens. Duplicate headings get -1, -2 suffixes.

Tables need a header row

The dash row sets alignment (:---, :-:, ---:). Use Table Aligner for diff-friendly columns.

Front matter is YAML

Triple-dash blocks at the top of files are parsed by static-site generators. Use the Front-Matter Validator to catch syntax errors.

Use Cases

Where to use kbd

Docs, READMEs, tutorials, cheatsheets.

App shortcuts

Document command palette and editing shortcuts. Render path uses marked with GFM extensions enabled (tables, task lists, strikethrough, autolinks), so what you preview matches what GitHub publishes bit-for-bit. Soft-break behaviour is configurable for chat-style vs prose Markdown.

GFM-compliant

Cheatsheets

Reference cards for vim, tmux, IDEs. Pairs cleanly with the Markdown Cheatsheet for syntax you can't quite remember — callout blocks, footnotes, definition lists. Output stays diff-friendly so style-only changes don't drown out real edits in PRs.

GitHub-perfect

Onboarding

Welcome docs with the top 10 shortcuts. Cross-platform safe: anchors, code fences, and tables behave identically on GitHub, GitLab, Bitbucket, and Gitea. Heading-anchor slugs follow GitHub's lowercase-and-hyphenate rules so deep links survive a docs migration.

diff-friendly

Tutorials

Inline keys inside step-by-step instructions. No server roundtrip — perfect for proprietary content you can't paste into a public tool. The full marked + GFM bundle ships with the page, so it works offline once loaded.

render-stable

Release notes

Call out new shortcuts in release Markdown. Front matter (YAML / TOML / JSON) passes through unchanged so static-site pipelines (Jekyll, Hugo, Astro, Eleventy) read it correctly. Pair with the Front-Matter Validator to catch syntax errors before deploy.

cross-platform

Game docs

Controls reference for indie games and tools. Output is reproducible: identical input always produces identical Markdown, so doc-generation scripts can rely on it for snapshot tests and embedded into release workflows.

SEO-friendly
FAQ

Frequently asked questions

Code spans look like inline code, not keys. Kbd boxes are styled by every major doc renderer.
Yes — GitHub allows the kbd tag with default browser styling.
Type into any toolbar that supports text input, or paste directly into the selected list source.
Use the space separator for sequences (e.g. leader-key chords), the plus separator for combos.
No. The snippet is built locally.
Suggest a tool

Something missing?

Tell us what you need. We ship the top requests every two weeks.

Sent straight to the maintainers · no account needed
47 in queue·8 shipped this month
Request queued. Thanks!