Virtual keyboards

ComponentsControls

Source: Apple Inc. Canonical content at https://developer.apple.com/design/human-interface-guidelines/virtual-keyboards. This file is a structured index of that content, snapshot 2025-02-02. Apple HIG text and imagery are © Apple Inc.; this repository provides organization and cross-referencing for AI agent consumption only.

Virtual keyboards

Best practices

Choose a keyboard that matches the type of content people are editing.

  • ASCII capable
  • ASCII capable number pad
  • Decimal pad
  • Default
  • Email address
  • Name phone pad
  • Number pad
  • Numbers and punctuation
  • Phone pad
  • Twitter
  • URL
  • Web search

Consider customizing the Return key type if it helps clarify the text-entry experience.

Custom input views

Make sure your custom input view makes sense in the context of your app.

Play the standard keyboard sound while people type.

Custom keyboards

Provide an obvious and easy way to switch between keyboards.

Avoid duplicating system-provided keyboard features.

Consider providing a keyboard tutorial in your app.

Platform considerations

iOS, iPadOS

Use the keyboard layout guide to make the keyboard feel like an integrated part of your interface.

Place custom controls above the keyboard thoughtfully.

tvOS

visionOS

watchOS

Resources

Developer documentation

Change log


For the complete guidance, including worked examples and illustrations, see the canonical page: https://developer.apple.com/design/human-interface-guidelines/virtual-keyboards

Get HIG guidance in your AI

Install Apple HIG Skills and get expert design guidance directly in Claude Code.

npx skills add raintree-technology/apple-hig-skills
Email updates aren't configured on this deployment yet. Follow the GitHub repo (opens in new tab) for updates.