Progress indicators

ComponentsStatus

Source: Apple Inc. Canonical content at https://developer.apple.com/design/human-interface-guidelines/progress-indicators. 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.

Progress indicators

  • Determinate , for a task with a well-defined duration, such as a file conversion

  • Indeterminate , for unquantifiable tasks, such as loading or synchronizing complex data

Best practices

When possible, use a determinate progress indicator.

Be as accurate as possible when reporting advancement in a determinate progress indicator.

Keep progress indicators moving so people know something is continuing to happen.

When possible, switch a progress bar from indeterminate to determinate.

Don’t switch from the circular style to the bar style.

If it’s helpful, display a description that provides additional context for the task.

Display a progress indicator in a consistent location.

When it’s feasible, let people halt processing.

Let people know when halting a process has a negative consequence.

Platform considerations

iOS, iPadOS

Refresh content controls

Perform automatic content updates.

Supply a short title only if it adds value.

macOS

Prefer an activity indicator (spinner) to communicate the status of a background operation or when space is constrained.

Avoid labeling a spinning progress indicator.

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/progress-indicators

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.