# Progress indicators

Source: https://developer.apple.com/design/human-interface-guidelines/progress-indicators
Skill: hig-components-status
Snapshot: 2025-02-02

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

---

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

