# Virtual keyboards

Source: https://developer.apple.com/design/human-interface-guidelines/virtual-keyboards
Skill: hig-components-controls
Snapshot: 2025-02-02

---
<!-- hig-doctor:attribution -->
> **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.**

---

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

