Typography

Kbd

Display keyboard shortcuts and key combinations

Import

import { Kbd } from "@blakeui/react";

Usage

⌘K⇧P⌃C⌥D
import {Kbd} from "@blakeui/react";

export function Basic() {
  return (
    <div className="flex items-center gap-4">

Anatomy

Import the Kbd component and access all parts using dot notation.

import { Kbd } from "@blakeui/react";

export default () => (
  <Kbd>
    <Kbd.Abbr title="Command">⌘</Kbd.Abbr>
    <Kbd.Content>K</Kbd.Content>
  </Kbd>
);
Arrow Keys:
↑↓←→
Page Navigation:
⇞⇟↖↘
import {Kbd} from "@blakeui/react";

export function NavigationKeys() {
  return (
    <div className="flex flex-col gap-4">

Inline Usage

Press Esc to close the dialog.

Use ⌘K to open the command palette.

Navigate with ↑ and ↓ arrow keys.

Save your work with ⌘S regularly.

import {Kbd} from "@blakeui/react";

export function InlineUsage() {
  return (
    <div className="space-y-4">

Instructional Text

Quick Actions

  • • Open search: ⌘K
  • • Toggle sidebar: ⌘B
  • • New file: ⌘N
  • • Quick save: ⌘S
import {Kbd} from "@blakeui/react";

export function InstructionalText() {
  return (
    <div className="space-y-3">

Special Keys

Press ↵ to confirm or ⎋ to cancel.

Use ⇥ to navigate between form fields and ⇧⇥ to go back.

Hold ␣ to temporarily enable panning mode.

import {Kbd} from "@blakeui/react";

export function SpecialKeys() {
  return (
    <div className="space-y-3">

Variants

Copy:⌘C⌘C
Paste:⌘V⌘V
Cut:⌘X⌘X
Undo:⌘Z⌘Z
Redo:⌘⇧Z⌘⇧Z
import {Kbd} from "@blakeui/react";

export function Variants() {
  return (
    <div className="flex flex-col gap-4">

Styling

Passing Tailwind CSS classes

import { Kbd } from "@blakeui/react";

function CustomKbd() {
  return (
    <Kbd className="bg-gray-100 dark:bg-gray-800">
      <Kbd.Content>K</Kbd.Content>
    </Kbd>
  );
}

Customizing the component classes

To customize the Kbd component classes, you can use the @layer components directive.
Learn more.

A worked example is in Styling.

blakeUI follows the BEM methodology to ensure component variants and states are reusable and easy to customize.

CSS Classes

The Kbd component uses these CSS classes (View source styles):

Base Classes

  • .kbd - Base keyboard key styles with background, border, and spacing
  • .kbd__abbr - Abbreviation element for modifier keys
  • .kbd__content - Content wrapper for key text

API Reference

Kbd Props

PropTypeDefaultDescription
childrenReact.ReactNode-Content of the key
variant`"default""light"`default
classNamestring-Custom CSS classes

Kbd.Abbr Props

PropTypeDefaultDescription
titlestring-Title attribute for accessibility (e.g., "Command" for ⌘)
childrenReact.ReactNode-The symbol or text to display (e.g., ⌘, ⌥, ⇧)
classNamestring-Custom CSS classes

Kbd.Key Props

PropTypeDefaultDescription
childrenReact.ReactNode-Text content of the key
classNamestring-Custom CSS classes

Kbd.Content Type

Available key values for the keyValue prop:

Modifier KeysSpecial KeysNavigation KeysFunction Keys
commandenterupfn
shiftdeletedown
ctrlescapeleft
optiontabright
altspacepageup
wincapslockpagedown
helphome
end

On this page