progress-indicators
intermediate
progress
tracker
steps
workflow
responsive
animation
Category · Progress Indicators Difficulty Level · Intermediate Published on · August 18, 2025

Progress Tracker

Interactive progress tracker with step indicators, progress bars, and status updates for multi-step processes.

#progress #tracker #steps #workflow #responsive #animation

Responsive Design

Yes

Dark Mode Support

No

lines

1103

Browser Compatibility

Chrome · Firefox · Safari · Edge

Live Preview

Interact with the component without leaving the page.

600px

Overview

Interactive progress tracker with step indicators, progress bars, and status updates for multi-step processes.

How to use

  1. Copy the HTML markup into your page.
  2. Paste the CSS into your stylesheet and ensure the selectors match your markup.
  3. Paste the JavaScript and load it after the markup.
  4. Adjust spacing, colors, and text to match your design system.

Customization tips

  • Rename class names to avoid collisions with your existing CSS.
  • Replace hard-coded colors with CSS variables for theming.
  • Verify the layout at 320px, 768px, and 1024px widths.

HTML

207

lines

CSS

566

lines

JavaScript

330

lines


                <div class="progress-container">
  <div class="progress-header">
    <h1 class="progress-title">Project Progress Tracker</h1>
    <p class="progress-subtitle">Track your project milestones and completion status</p>
  </div>
  
  <div class="progress-content">
    
    <div class="overall-progress">
      <div class="progress-info">
        <h2>Overall Progress</h2>
        <span class="progress-percentage" id="overallPercentage">65%</span>
      </div>
      <div class="progress-bar-container">
        <div class="progress-bar" id="overallProgressBar">
          <div class="progress-fill" style="width: 65%;"></div>
        </div>
      </div>
      <div class="progress-stats">
        <div class="stat-item">
          <span class="stat-number" id="completedTasks">13</span>
          <span class="stat-label">Completed</span>
        </div>
        <div class="stat-item">
          <span class="stat-number" id="totalTasks">20</span>
          <span class="stat-label">Total Tasks</span>
        </div>
        <div class="stat-item">
          <span class="stat-number" id="remainingDays">7</span>
          <span class="stat-label">Days Left</span>
        </div>
      </div>
    </div>
    
    
    <div class="step-progress">
      <h2>Project Phases</h2>
      <div class="steps-container">
        <div class="step completed" data-step="1">
          <div class="step-indicator">
            <svg class="step-icon" viewBox="0 0 24 24" fill="currentColor">
              <path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"/>
            </svg>
          </div>
          <div class="step-content">
            <h3 class="step-title">Planning & Research</h3>
            <p class="step-description">Define project scope and requirements</p>
            <div class="step-progress-bar">
              <div class="step-progress-fill" style="width: 100%;"></div>
            </div>
            <span class="step-status">Completed</span>
          </div>
        </div>
        
        <div class="step completed" data-step="2">
          <div class="step-indicator">
            <svg class="step-icon" viewBox="0 0 24 24" fill="currentColor">
              <path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"/>
            </svg>
          </div>
          <div class="step-content">
            <h3 class="step-title">Design & Prototyping</h3>
            <p class="step-description">Create wireframes and visual designs</p>
            <div class="step-progress-bar">
              <div class="step-progress-fill" style="width: 100%;"></div>
            </div>
            <span class="step-status">Completed</span>
          </div>
        </div>
        
        <div class="step active" data-step="3">
          <div class="step-indicator">
            <span class="step-number">3</span>
          </div>
          <div class="step-content">
            <h3 class="step-title">Development</h3>
            <p class="step-description">Build and implement the solution</p>
            <div class="step-progress-bar">
              <div class="step-progress-fill" style="width: 75%;"></div>
            </div>
            <span class="step-status">In Progress (75%)</span>
          </div>
        </div>
        
        <div class="step pending" data-step="4">
          <div class="step-indicator">
            <span class="step-number">4</span>
          </div>
          <div class="step-content">
            <h3 class="step-title">Testing & QA</h3>
            <p class="step-description">Quality assurance and bug fixes</p>
            <div class="step-progress-bar">
              <div class="step-progress-fill" style="width: 0%;"></div>
            </div>
            <span class="step-status">Pending</span>
          </div>
        </div>
        
        <div class="step pending" data-step="5">
          <div class="step-indicator">
            <span class="step-number">5</span>
          </div>
          <div class="step-content">
            <h3 class="step-title">Deployment</h3>
            <p class="step-description">Launch and go live</p>
            <div class="step-progress-bar">
              <div class="step-progress-fill" style="width: 0%;"></div>
            </div>
            <span class="step-status">Pending</span>
          </div>
        </div>
      </div>
    </div>
    
    
    <div class="task-list">
      <div class="task-header">
        <h2>Current Tasks</h2>
        <button class="add-task-btn" id="addTaskBtn">
          <svg viewBox="0 0 24 24" fill="currentColor">
            <path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/>
          </svg>
          Add Task
        </button>
      </div>
      
      <div class="tasks-container" id="tasksContainer">
        <div class="task-item completed">
          <div class="task-checkbox">
            <input type="checkbox" checked>
            <span class="checkmark"></span>
          </div>
          <div class="task-content">
            <h4 class="task-title">Set up development environment</h4>
            <p class="task-description">Configure tools and dependencies</p>
            <div class="task-meta">
              <span class="task-priority high">High</span>
              <span class="task-date">Completed 2 days ago</span>
            </div>
          </div>
        </div>
        
        <div class="task-item completed">
          <div class="task-checkbox">
            <input type="checkbox" checked>
            <span class="checkmark"></span>
          </div>
          <div class="task-content">
            <h4 class="task-title">Create database schema</h4>
            <p class="task-description">Design and implement data structure</p>
            <div class="task-meta">
              <span class="task-priority medium">Medium</span>
              <span class="task-date">Completed 1 day ago</span>
            </div>
          </div>
        </div>
        
        <div class="task-item active">
          <div class="task-checkbox">
            <input type="checkbox">
            <span class="checkmark"></span>
          </div>
          <div class="task-content">
            <h4 class="task-title">Implement user authentication</h4>
            <p class="task-description">Build login and registration system</p>
            <div class="task-meta">
              <span class="task-priority high">High</span>
              <span class="task-date">Due in 2 days</span>
            </div>
          </div>
        </div>
        
        <div class="task-item pending">
          <div class="task-checkbox">
            <input type="checkbox">
            <span class="checkmark"></span>
          </div>
          <div class="task-content">
            <h4 class="task-title">Design user interface</h4>
            <p class="task-description">Create responsive UI components</p>
            <div class="task-meta">
              <span class="task-priority medium">Medium</span>
              <span class="task-date">Due in 5 days</span>
            </div>
          </div>
        </div>
      </div>
    </div>
    
    
    <div class="progress-actions">
      <button class="action-btn secondary" id="resetBtn">
        <svg viewBox="0 0 24 24" fill="currentColor">
          <path d="M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"/>
        </svg>
        Reset Progress
      </button>
      
      <button class="action-btn primary" id="updateBtn">
        <svg viewBox="0 0 24 24" fill="currentColor">
          <path d="M21 10.12h-6.78l2.74-2.82c-2.73-2.7-7.15-2.8-9.88-.1-2.73 2.71-2.73 7.08 0 9.79 2.73 2.71 7.15 2.71 9.88 0C18.32 15.65 19 14.08 19 12.1h2c0 2.08-.8 4.16-2.39 5.75-3.18 3.18-8.54 3.18-11.72 0-3.18-3.18-3.18-8.54 0-11.72 3.18-3.18 8.54-3.18 11.72 0L21 3.9v6.22z"/>
        </svg>
        Update Progress
      </button>
    </div>
  </div>
</div>

              
207lines
7997characters
HTMLLanguage

Browser Compatibility

Chrome

>= 60

Firefox

>= 55

Safari

>= 10

Edge

>= 15

Related Code Snippets

Explore template packs

Need larger building blocks? Browse responsive landing pages and component bundles.

Open HTML Template Library ->