Animated Progress Circle

Intermediate

Modern circular progress indicator with smooth animations, customizable themes, and responsive design, perfect for dashboards and data visualization.

Live Preview

Code Implementation

HTML
<div class="progress-circle-container">
  <div class="progress-circle-demo">
    <div class="demo-header">
      <h2>Circular Progress Indicators</h2>
      <p>Animated progress circles with customizable themes</p>
    </div>
    
    <div class="circles-wrapper">
      <div class="circle-item">
        <div class="progress-circle" id="progressCircle1">
          <svg viewBox="0 0 100 100" class="progress-ring">
            <circle class="progress-ring-bg" cx="50" cy="50" r="45" fill="none" stroke="#f1f5f9" stroke-width="8"></circle>
            <circle class="progress-ring-fill" cx="50" cy="50" r="45" fill="none" stroke="#667eea" stroke-width="8" stroke-dasharray="283" stroke-dashoffset="283" stroke-linecap="round"></circle>
          </svg>
          <div class="progress-text">
            <span class="progress-value" id="progressValue1">0</span>
            <span class="progress-percent">%</span>
          </div>
        </div>
        <div class="circle-label">Project Completion</div>
      </div>
      
      <div class="circle-item">
        <div class="progress-circle success" id="progressCircle2">
          <svg viewBox="0 0 100 100" class="progress-ring">
            <circle class="progress-ring-bg" cx="50" cy="50" r="45" fill="none" stroke="#f1f5f9" stroke-width="8"></circle>
            <circle class="progress-ring-fill" cx="50" cy="50" r="45" fill="none" stroke="#27ae60" stroke-width="8" stroke-dasharray="283" stroke-dashoffset="283" stroke-linecap="round"></circle>
          </svg>
          <div class="progress-text">
            <span class="progress-value" id="progressValue2">0</span>
            <span class="progress-percent">%</span>
          </div>
        </div>
        <div class="circle-label">Task Success</div>
      </div>
      
      <div class="circle-item">
        <div class="progress-circle warning" id="progressCircle3">
          <svg viewBox="0 0 100 100" class="progress-ring">
            <circle class="progress-ring-bg" cx="50" cy="50" r="45" fill="none" stroke="#f1f5f9" stroke-width="8"></circle>
            <circle class="progress-ring-fill" cx="50" cy="50" r="45" fill="none" stroke="#f39c12" stroke-width="8" stroke-dasharray="283" stroke-dashoffset="283" stroke-linecap="round"></circle>
          </svg>
          <div class="progress-text">
            <span class="progress-value" id="progressValue3">0</span>
            <span class="progress-percent">%</span>
          </div>
        </div>
        <div class="circle-label">Resource Usage</div>
      </div>
    </div>
    
    <div class="controls-wrapper">
      <button class="btn btn-primary" id="startAnimationBtn">Start Animation</button>
      <button class="btn btn-secondary" id="resetAnimationBtn">Reset</button>
    </div>
  </div>
</div>

Snippet Features

Responsive Design: Yes
Dark Mode Support: No
Category: progress-indicators
Difficulty Level: Intermediate

Browser Compatibility

🟢
chrome 50+
🟠
firefox 45+
🔵
safari 10+
🟦
edge 15+