KBD Component
CSS-only Tailwind CSS kbd component for displaying keyboard shortcuts and key combinations. Size variants. WCAG AA accessible, works with Django, HTMX, Laravel, React, and any stack.
Keyboard key components visually represent keyboard input, useful for documenting shortcuts, hotkeys, and keyboard navigation. Built with semantic HTML, kbd elements communicate user actions and interaction patterns. The Frutjam kbd system supports multiple sizes and stylesβideal for shortcut documentation, tutorial overlays, and keyboard guides.
CSS-only, no JavaScript required. WCAG AA accessible and framework-agnostic β works with Django, HTMX, Laravel, React, and any stack.
| Class | Type | Description |
|---|---|---|
| kbd | Base | Keyboard key styled with raised border and shadow |
| kbd-xs | Size | Extra small (0.75rem font) |
| kbd-sm | Size | Small (0.8125rem font) |
| kbd-md | Size | Medium (0.875rem font, default) |
| kbd-lg | Size | Large (1rem font) |
| kbd-xl | Size | Extra large (1.125rem font) |
Basic Usage
A
B
C
1 2 3 | <kbd class="kbd">A</kbd> <kbd class="kbd">B</kbd> <kbd class="kbd">C</kbd> |
1 2 3 | <kbd className="kbd">A</kbd> <kbd className="kbd">B</kbd> <kbd className="kbd">C</kbd> |
Key Combinations
Copy:
Ctrl
+
C
Paste:
Ctrl
+
V
Undo:
Ctrl
+
Z
html
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <div class="space-y-2"> <div> <span class="text-sm">Copy:</span> <kbd class="kbd">Ctrl</kbd> <span>+</span> <kbd class="kbd">C</kbd> </div> <div> <span class="text-sm">Paste:</span> <kbd class="kbd">Ctrl</kbd> <span>+</span> <kbd class="kbd">V</kbd> </div> <div> <span class="text-sm">Undo:</span> <kbd class="kbd">Ctrl</kbd> <span>+</span> <kbd class="kbd">Z</kbd> </div> </div> |
Key Sizes
Xs
Sm
Md
Lg
html
1 2 3 4 | <kbd class="kbd kbd-xs">Xs</kbd> <kbd class="kbd kbd-sm">Sm</kbd> <kbd class="kbd kbd-md">Md</kbd> <kbd class="kbd kbd-lg">Lg</kbd> |
Special Keys
Enter
Tab
Shift
Alt
Esc
Space
html
1 2 3 4 5 6 7 8 | <div class="space-x-2"> <kbd class="kbd">Enter</kbd> <kbd class="kbd">Tab</kbd> <kbd class="kbd">Shift</kbd> <kbd class="kbd">Alt</kbd> <kbd class="kbd">Esc</kbd> <kbd class="kbd">Space</kbd> </div> |
Arrow Keys
β
β
β
β
html
1 2 3 4 5 6 7 8 | <div class="inline-grid grid-cols-3 gap-1"> <div></div> <kbd class="kbd">β</kbd> <div></div> <kbd class="kbd">β</kbd> <kbd class="kbd">β</kbd> <kbd class="kbd">β</kbd> </div> |
Keyboard Shortcut Guide
Keyboard Shortcuts
Search
Ctrl + K
Focus
/
New
Ctrl + N
html
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <div class="card bg-base-100 shadow-xl max-w-md"> <div class="card-content"> <h2 class="card-title text-lg">Keyboard Shortcuts</h2> <div class="space-y-2 text-sm"> <div class="flex justify-between"> <span>Search</span> <div><kbd class="kbd kbd-sm">Ctrl</kbd> + <kbd class="kbd kbd-sm">K</kbd></div> </div> <div class="flex justify-between"> <span>Focus</span> <div><kbd class="kbd kbd-sm">/</kbd></div> </div> <div class="flex justify-between"> <span>New</span> <div><kbd class="kbd kbd-sm">Ctrl</kbd> + <kbd class="kbd kbd-sm">N</kbd></div> </div> </div> </div> </div> |