📄 radixui/primitives/docs/components/progress

File: progress.md | Updated: 11/15/2025

Source: https://www.radix-ui.com/primitives/docs/components/progress

Radix Homepage

Made by WorkOS

Radix Homepage

Made by WorkOS

ThemesThemes PrimitivesPrimitives IconsIcons ColorsColors

Documentation Case studies Blog

Search

/

Overview

Introduction Getting started Accessibility Releases

Guides

Styling Animation Composition Server-side rendering

Components

Accordion Alert Dialog Aspect Ratio Avatar Checkbox Collapsible Context Menu Dialog Dropdown Menu Form

Preview
Hover Card Label Menubar Navigation Menu One-Time Password Field

Preview
Password Toggle Field

Preview
Popover Progress Radio Group Scroll Area Select Separator Slider Switch Tabs Toast Toggle Toggle Group Toolbar Tooltip

Utilities

Accessible Icon Direction Provider Portal Slot Visually Hidden

Components

Progress

Displays an indicator showing the completion progress of a task, typically displayed as a progress bar.

index.jsxindex.jsxstyles.cssstyles.css

CSS

import * as React from "react";
import { Progress } from "radix-ui";
import "./styles.css";

const ProgressDemo = () => {
	const [progress, setProgress] = React.useState(13);

	React.useEffect(() => {
		const timer = setTimeout(() => setProgress(66), 500);
		return () => clearTimeout(timer);
	}, []);

	return (
		<Progress.Root className="ProgressRoot" value={progress}>
			<Progress.Indicator
				className="ProgressIndicator"
				style={{ transform: `translateX(-${100 - progress}%)` }}
			/>
		</Progress.Root>
	);
};

export default ProgressDemo;

Features

Provides context for assistive technology to read the progress of a task.

Installation


Install the component from your command line.

npm install @radix-ui/react-progress

Anatomy

Import all parts and piece them together.

import { Progress } from "radix-ui";

export default () => (
	<Progress.Root>
		<Progress.Indicator />
	</Progress.Root>
);

Accessibility


Adheres to the progressbar role requirements .

API Reference


Root

Contains all of the progress parts.

| Prop | Type | Default | | --- | --- | --- | | asChild<br><br>Prop description | boolean | false | | value<br><br>Prop description | number \| null | No default value | | max<br><br>Prop description | number | No default value | | getValueLabel<br><br>Prop description | function<br><br>See full type | No default value |

| Data attribute | Values | | --- | --- | | [data-state] | "complete" \| "indeterminate" \| "loading" | | [data-value] | The current value | | [data-max] | The max value |

Indicator

Used to show the progress visually. It also makes progress accessible to assistive technologies.

| Prop | Type | Default | | --- | --- | --- | | asChild<br><br>Prop description | boolean | false |

| Data attribute | Values | | --- | --- | | [data-state] | "complete" \| "indeterminate" \| "loading" | | [data-value] | The current value | | [data-max] | The max value |

PreviousPopover

NextRadio Group

Edit this page on GitHub.