Progress

Custom progress bars featuring support for stacked bars, animated backgrounds, and text labels.

Bootstrap docs

Color variation (thick)

45%
60%
55%
40%
70%
60%
33%
<!-- Primary progress bar -->
<div class="progress mb-3">
  <div class="progress-bar" role="progressbar" style="width: 45%" aria-valuenow="45" aria-valuemin="0" aria-valuemax="100">
    45%
  </div>
</div>

<!-- Accent progress bar -->
<div class="progress mb-3">
  <div class="progress-bar bg-accent" role="progressbar" style="width: 60%" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100">
    60%
  </div>
</div>

<!-- Success progress bar -->
<div class="progress mb-3">
  <div class="progress-bar bg-success" role="progressbar" style="width: 55%" aria-valuenow="55" aria-valuemin="0" aria-valuemax="100">
    55%
  </div>
</div>

<!-- Danger progress bar -->
<div class="progress mb-3">
  <div class="progress-bar bg-danger" role="progressbar" style="width: 40%" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100">
    40%
  </div>
</div>

<!-- Warning progress bar -->
<div class="progress mb-3">
  <div class="progress-bar bg-warning" role="progressbar" style="width: 70%" aria-valuenow="70" aria-valuemin="0" aria-valuemax="100">
    70%
  </div>
</div>

<!-- Info progress bar -->
<div class="progress mb-3">
  <div class="progress-bar bg-info" role="progressbar" style="width: 60%" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100">
    60%
  </div>
</div>

<!-- Dark progress bar -->
<div class="progress mb-3">
  <div class="progress-bar bg-dark" role="progressbar" style="width: 33%" aria-valuenow="33" aria-valuemin="0" aria-valuemax="100">
    33%
  </div>
</div>
// Primary progress bar
.progress.mb-3
  .progress-bar(role="progressbar", style="width: 45%", aria-valuenow="45", aria-valuemin="0", aria-valuemax="100")
    | 45%

// Accent progress bar
.progress.mb-3
  .progress-bar.bg-accent(role="progressbar", style="width: 60%", aria-valuenow="60", aria-valuemin="0", aria-valuemax="100")
    | 60%

// Success progress bar
.progress.mb-3
  .progress-bar.bg-success(role="progressbar", style="width: 55%", aria-valuenow="55", aria-valuemin="0", aria-valuemax="100")
    | 55%

// Danger progress bar
.progress.mb-3
  .progress-bar.bg-danger(role="progressbar", style="width: 40%", aria-valuenow="40", aria-valuemin="0", aria-valuemax="100")
    | 40%

// Warning progress bar
.progress.mb-3
  .progress-bar.bg-warning(role="progressbar", style="width: 70%", aria-valuenow="70", aria-valuemin="0", aria-valuemax="100")
    | 70%

// Info progress bar
.progress.mb-3
  .progress-bar.bg-info(role="progressbar", style="width: 60%", aria-valuenow="60", aria-valuemin="0", aria-valuemax="100")
    | 60%

// Dark progress bar
.progress.mb-3
  .progress-bar.bg-dark(role="progressbar", style="width: 33%", aria-valuenow="33", aria-valuemin="0", aria-valuemax="100")
    | 33%

Color variation (thin)

45%
60%
55%
40%
70%
60%
33%
<!-- Primary progress bar -->
<div class="fs-sm mb-2">45%</div>
<div class="progress mb-3" style="height: 4px;">
  <div class="progress-bar" role="progressbar" style="width: 45%" aria-valuenow="45" aria-valuemin="0" aria-valuemax="100"></div>
</div>

<!-- Accent progress bar -->
<div class="fs-sm mb-2">60%</div>
<div class="progress mb-3" style="height: 4px;">
  <div class="progress-bar bg-accent" role="progressbar" style="width: 60%" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100"></div>
</div>

<!-- Success progress bar -->
<div class="fs-sm mb-2">55%</div>
<div class="progress mb-3" style="height: 4px;">
  <div class="progress-bar bg-success" role="progressbar" style="width: 55%" aria-valuenow="55" aria-valuemin="0" aria-valuemax="100"></div>
</div>

<!-- Danger progress bar -->
<div class="fs-sm mb-2">40%</div>
<div class="progress mb-3" style="height: 4px;">
  <div class="progress-bar bg-danger" role="progressbar" style="width: 40%" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100"></div>
</div>

<!-- Warning progress bar -->
<div class="fs-sm mb-2">70%</div>
<div class="progress mb-3" style="height: 4px;">
  <div class="progress-bar bg-warning" role="progressbar" style="width: 70%" aria-valuenow="70" aria-valuemin="0" aria-valuemax="100"></div>
</div>

<!-- Info progress bar -->
<div class="fs-sm mb-2">60%</div>
<div class="progress mb-3" style="height: 4px;">
  <div class="progress-bar bg-info" role="progressbar" style="width: 60%" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100"></div>
</div>

<!-- Dark progress bar -->
<div class="fs-sm mb-2">33%</div>
<div class="progress mb-3" style="height: 4px;">
  <div class="progress-bar bg-dark" role="progressbar" style="width: 33%" aria-valuenow="33" aria-valuemin="0" aria-valuemax="100"></div>
</div>
// Primary progress bar
.fs-sm.mb-2
  | 45%
.progress.mb-3(style="height: 4px;")
  .progress-bar(role="progressbar", style="width: 45%", aria-valuenow="45", aria-valuemin="0", aria-valuemax="100")

// Accent progress bar
fs-sm.mb-2
  | 60%
.progress.mb-3(style="height: 4px;")
  .progress-bar.bg-accent(role="progressbar", style="width: 60%", aria-valuenow="60", aria-valuemin="0", aria-valuemax="100")

// Success progress bar
fs-sm.mb-2
  | 55%
.progress.mb-3(style="height: 4px;")
  .progress-bar.bg-success(role="progressbar", style="width: 55%", aria-valuenow="55", aria-valuemin="0", aria-valuemax="100")

// Danger progress bar
fs-sm.mb-2
  | 40%
.progress.mb-3(style="height: 4px;")
  .progress-bar.bg-danger(role="progressbar", style="width: 40%", aria-valuenow="40", aria-valuemin="0", aria-valuemax="100")

// Warning progress bar
.fs-sm.mb-2
  | 70%
.progress.mb-3(style="height: 4px;")
  .progress-bar.bg-warning(role="progressbar", style="width: 70%", aria-valuenow="70", aria-valuemin="0", aria-valuemax="100")

// Info progress bar
.fs-sm.mb-2
  | 60%
.progress.mb-3(style="height: 4px;")
  .progress-bar.bg-info(role="progressbar", style="width: 60%", aria-valuenow="60", aria-valuemin="0", aria-valuemax="100")

// Dark progress bar
.fs-sm.mb-2
  | 33%
.progress(style="height: 4px;")
  .progress-bar.bg-dark(role="progressbar", style="width: 33%", aria-valuenow="33", aria-valuemin="0", aria-valuemax="100")

Multiple bars

<!-- Thick bars -->
<div class="progress mb-3">
  <div class="progress-bar bg-info" role="progressbar" style="width: 15%" aria-valuenow="15" aria-valuemin="0" aria-valuemax="100"></div>
  <div class="progress-bar" role="progressbar" style="width: 10%" aria-valuenow="10" aria-valuemin="0" aria-valuemax="100"></div>
  <div class="progress-bar bg-success" role="progressbar" style="width: 20%" aria-valuenow="20" aria-valuemin="0" aria-valuemax="100"></div>
  <div class="progress-bar bg-warning" role="progressbar" style="width: 25%" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100"></div>
</div>

<!-- Thin bars -->
<div class="progress mb-3" style="height: 2px;">
  <div class="progress-bar bg-warning" role="progressbar" style="width: 20%" aria-valuenow="20" aria-valuemin="0" aria-valuemax="100"></div>
  <div class="progress-bar bg-info" role="progressbar" style="width: 25%" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100"></div>
  <div class="progress-bar bg-danger" role="progressbar" style="width: 10%" aria-valuenow="10" aria-valuemin="0" aria-valuemax="100"></div>
  <div class="progress-bar bg-success" role="progressbar" style="width: 15%" aria-valuenow="15" aria-valuemin="0" aria-valuemax="100"></div>
</div>
// Thick bars
.progress.mb-3
  .progress-bar.bg-info(role="progressbar", style="width: 15%", aria-valuenow="15", aria-valuemin="0", aria-valuemax="100")
  .progress-bar(role="progressbar", style="width: 10%", aria-valuenow="10", aria-valuemin="0", aria-valuemax="100")
  .progress-bar.bg-success(role="progressbar", style="width: 20%", aria-valuenow="20", aria-valuemin="0", aria-valuemax="100")
  .progress-bar.bg-warning(role="progressbar", style="width: 25%", aria-valuenow="25", aria-valuemin="0", aria-valuemax="100")

// Thin bars
.progress.mb-3(style="height:2px;")
  .progress-bar.bg-warning(role="progressbar", style="width: 20%", aria-valuenow="20", aria-valuemin="0", aria-valuemax="100")
  .progress-bar.bg-info(role="progressbar", style="width: 25%", aria-valuenow="25", aria-valuemin="0", aria-valuemax="100")
  .progress-bar.bg-danger(role="progressbar", style="width: 10%", aria-valuenow="10", aria-valuemin="0", aria-valuemax="100")
  .progress-bar.bg-success(role="progressbar", style="width: 15%", aria-valuenow="15", aria-valuemin="0", aria-valuemax="100")

Animated striped bars

<!-- Striped primary progress bar -->
<div class="progress mb-3">
  <div class="progress-bar progress-bar-striped progress-bar-animated" role="progressbar" style="width: 45%" aria-valuenow="45" aria-valuemin="0" aria-valuemax="100"></div>
</div>

<!-- Striped accent progress bar -->
<div class="progress mb-3">
  <div class="progress-bar progress-bar-striped progress-bar-animated bg-accent" role="progressbar" style="width: 60%" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100"></div>
</div>

<!-- Striped success progress bar -->
<div class="progress mb-3">
  <div class="progress-bar progress-bar-striped progress-bar-animated bg-success" role="progressbar" style="width: 55%" aria-valuenow="55" aria-valuemin="0" aria-valuemax="100"></div>
</div>

<!-- Striped danger progress bar -->
<div class="progress mb-3">
  <div class="progress-bar progress-bar-striped progress-bar-animated bg-danger" role="progressbar" style="width: 40%" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100"></div>
</div>

<!-- Striped warning progress bar -->
<div class="progress mb-3">
  <div class="progress-bar progress-bar-striped progress-bar-animated bg-warning" role="progressbar" style="width: 70%" aria-valuenow="70" aria-valuemin="0" aria-valuemax="100"></div>
</div>

<!-- Striped info progress bar -->
<div class="progress mb-3">
  <div class="progress-bar progress-bar-striped progress-bar-animated bg-info" role="progressbar" style="width: 60%" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100"></div>
</div>

<!-- Striped dark progress bar -->
<div class="progress mb-3">
  <div class="progress-bar progress-bar-striped progress-bar-animated bg-dark" role="progressbar" style="width: 33%" aria-valuenow="33" aria-valuemin="0" aria-valuemax="100"></div>
</div>
// Striped primary progress bar
.progress.mb-3
  .progress-bar.progress-bar-striped.progress-bar-animated(role="progressbar", style="width: 45%", aria-valuenow="45", aria-valuemin="0", aria-valuemax="100")

// Striped accent progress bar
.progress.mb-3
  .progress-bar.progress-bar-striped.progress-bar-animated.bg-accent(role="progressbar", style="width: 60%", aria-valuenow="60", aria-valuemin="0", aria-valuemax="100")

// Striped success progress bar
.progress.mb-3
  .progress-bar.progress-bar-striped.progress-bar-animated.bg-success(role="progressbar", style="width: 55%", aria-valuenow="55", aria-valuemin="0", aria-valuemax="100")

// Striped danger progress bar
.progress.mb-3
  .progress-bar.progress-bar-striped.progress-bar-animated.bg-danger(role="progressbar", style="width: 40%", aria-valuenow="40", aria-valuemin="0", aria-valuemax="100")

// Striped warning progress bar
.progress.mb-3
  .progress-bar.progress-bar-striped.progress-bar-animated.bg-warning(role="progressbar", style="width: 70%", aria-valuenow="70", aria-valuemin="0", aria-valuemax="100")

// Striped info progress bar
.progress.mb-3
  .progress-bar.progress-bar-striped.progress-bar-animated.bg-info(role="progressbar", style="width: 60%", aria-valuenow="60", aria-valuemin="0", aria-valuemax="100")

// Striped dark progress bar
.progress.mb-3
  .progress-bar.progress-bar-striped.progress-bar-animated.bg-dark(role="progressbar", style="width: 33%", aria-valuenow="33", aria-valuemin="0", aria-valuemax="100")

Light version

45%
60%
55%
40%
70%
60%
<!-- Primary progress bar -->
<div class="progress progress-light mb-3">
  <div class="progress-bar" role="progressbar" style="width: 45%" aria-valuenow="45" aria-valuemin="0" aria-valuemax="100">
    45%
  </div>
</div>

<!-- Accent progress bar -->
<div class="progress progress-light mb-3">
  <div class="progress-bar bg-accent" role="progressbar" style="width: 60%" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100">
    60%
  </div>
</div>

<!-- Success progress bar -->
<div class="progress progress-light mb-3">
  <div class="progress-bar bg-success" role="progressbar" style="width: 55%" aria-valuenow="55" aria-valuemin="0" aria-valuemax="100">
    55%
  </div>
</div>

<!-- Danger progress bar -->
<div class="progress progress-light mb-3">
  <div class="progress-bar bg-danger" role="progressbar" style="width: 40%" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100">
    40%
  </div>
</div>

<!-- Warning progress bar -->
<div class="progress progress-light mb-3">
  <div class="progress-bar bg-warning" role="progressbar" style="width: 70%" aria-valuenow="70" aria-valuemin="0" aria-valuemax="100">
    70%
  </div>
</div>

<!-- Info progress bar -->
<div class="progress progress-light mb-3">
  <div class="progress-bar bg-info" role="progressbar" style="width: 60%" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100">
    60%
  </div>
</div>
// Primary progress bar
.progress.progress-light.mb-3
  .progress-bar(role="progressbar", style="width: 45%", aria-valuenow="45", aria-valuemin="0", aria-valuemax="100")
    | 45%

// Accent progress bar
.progress.progress-light.mb-3
  .progress-bar.bg-accent(role="progressbar", style="width: 60%", aria-valuenow="60", aria-valuemin="0", aria-valuemax="100")
    | 60%

// Success progress bar
.progress.progress-light.mb-3
  .progress-bar.bg-success(role="progressbar", style="width: 55%", aria-valuenow="55", aria-valuemin="0", aria-valuemax="100")
    | 55%

// Danger progress bar
.progress.progress-light.mb-3
  .progress-bar.bg-danger(role="progressbar", style="width: 40%", aria-valuenow="40", aria-valuemin="0", aria-valuemax="100")
    | 40%

// Warning progress bar
.progress.progress-light.mb-3
  .progress-bar.bg-warning(role="progressbar", style="width: 70%", aria-valuenow="70", aria-valuemin="0", aria-valuemax="100")
    | 70%

// Info progress bar
.progress.progress-light.mb-3
  .progress-bar.bg-info(role="progressbar", style="width: 60%", aria-valuenow="60", aria-valuemin="0", aria-valuemax="100")
    | 60%
Top