Progress Tracker

Intermediate

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

Live Preview

Code Implementation

HTML
<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">
    <!-- Overall Progress -->
    <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>
    
    <!-- Step Progress -->
    <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>
    
    <!-- Task List -->
    <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>
    
    <!-- Progress Actions -->
    <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>

Snippet Features

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

Browser Compatibility

🟢
chrome 60+
🟠
firefox 55+
🔵
safari 10+
🟦
edge 15+