Skip to content

shadcn.io is not affiliated with official shadcn/ui

Shadcn Circular Progress for React Radix UI

Shows task progress with a circular indicator.

Framework
UI library

Radix UI does not include this primitive, so this page uses the Ark UI component. The visuals match the Ark UI version.

Installation

bunx --bun shadcn@latest add https://kit.dev/r/radix/circular-progress.json

Anatomy

CircularProgress
├── CircularProgressLabel
├── CircularProgressTrack
├── CircularProgressRange
├── CircularProgressValue
├── CircularProgressView
└── CircularProgressTrack
    ├── CircularProgressCircleTrack
    └── CircularProgressCircleRange

Usage

import { useEffect, useState } from "react";
import { CircularProgress } from "@/components/ui/circular-progress";
const Example = () => {
  const [progress, setProgress] = useState(24);

  useEffect(() => {
    const timer = setTimeout(() => {
      setProgress(72);
    }, 500);

    return () => {
      clearTimeout(timer);
    };
  }, []);

  return <CircularProgress value={progress} />;
};

Demos

Controlled

Indeterminate

Min Max

Root Provider

Size

Thickness

View

With Label

With Value

API Reference

CircularProgress

div

PropType
AttributeType

CircularProgressLabel

span

PropType
AttributeType

CircularProgressValue

span

PropType
AttributeType
CSS variableType
--sizestring

CircularProgressView

span

PropType
AttributeType

CircularProgressTrack

svg

PropType
AttributeType
CSS variableType
--circumferencestring
--percentstring

CircularProgressCircleTrack

circle

PropType
AttributeType
CSS variableType
--circumferencestring

CircularProgressCircleRange

circle

PropType
AttributeType
CSS variableType
--circumferencestring

CircularProgressRootProvider

div

PropType
AttributeType

useCircularProgress

CircularProgressContext