React Bootstrap 4 Progress Bar with Customization Tutorial with Examples

In this React 16+ tutorial, we’ll learn How to implement Progress Bar with percentage value in ReactJs application using React Bootstrap package.

What is a Progress bar?

A progress bar is mainly used to represent a user with the status of a process in percentage. It is mainly depicted with a horizontal color bar having a simple or animated transition.

Progress bars are used to display process status in cases where the time is determinate like uploading of media files, transfer of data, downloading files, etc.

We’ll implement the Progress Bar in the React application by installing the React Bootstrap package module.

The React Bootstrap provides a wide variety of ready to use Bootstrap UI components which are exclusively converted and build for React applications.

Let’s go ahead and implement step by step


Create a React Application

First, we’ll create a new React application using npx create-react-app command

$ npx create-react-app react-bootstrap-loaders-app

Move inside the react app

$ cd react-bootstrap-loaders-app

Run application

$ npm start


Install React Bootstrap Package

After creating the react application, now we’ll install  react-bootstrap and bootstrap packages by running below command

$ npm install react-bootstrap bootstrap


Adding Bootstrap Progress Bar in ReactJs App

After installing the react-bootstrap package above, we can easily import the required components.

For Progress bar, we’ll import ProgressBar class from ‘react-bootstrap’

import { ProgressBar, Button } from 'react-bootstrap';

Next, we need to import the bootstrap.min.css file as well to apply the bootstrap styling

import 'bootstrap/dist/css/bootstrap.min.css';


Simple Progress bar

The App.js file with App() function will look like this

// src/App.js
import React from 'react';
import './App.css';

import { ProgressBar, Button } from 'react-bootstrap';
import 'bootstrap/dist/css/bootstrap.min.css';

function App() {

  const progress = 65;

  return (
      <h3>Simple Progress Bar</h3>

      <ProgressBar now={progress} />
    </div >

export default App;

The now property takes value from 0 – 100 depicting the percentage of the task. In the later section, we’ll discuss how to create a Progress bar service to use in real applications.


Progress Bar with percentage label

The label property can be added to display percentage message inside the progress bar.

<ProgressBar now={progress} label={`${progress}% process is done`} />


Bootstrap Color Variants

The generic ionic colors of Bootstrap can be added to the progress bar by adding the  variant property with name as success, info, warning or danger

 <ProgressBar now={progress} variant="success" label={`${progress}% Success`} />
 <ProgressBar now={progress} variant="info" label={`${progress}% Information`} />
 <ProgressBar now={progress} variant="warning" label={`${progress}% Warning`} />
 <ProgressBar now={progress} variant="danger" label={`${progress}% Danger`} />


Striped Pattern on Progress Bar

A striped pattern can be implemented by adding the striped property

<ProgressBar now={progress} striped variant="success" label={`${progress}% Success`} />
<ProgressBar now={progress} striped variant="info" label={`${progress}% Information`} />
<ProgressBar now={progress} striped variant="warning" label={`${progress}% Warning`} />
<ProgressBar now={progress} striped variant="danger" label={`${progress}% Danger`} />


Animated Progress Bars

The animated property is used to give animation transition effect to the progress bar

<ProgressBar now={progress} animated striped variant="success" label={`${progress}% Success`} />
<ProgressBar now={progress} animated striped variant="info" label={`${progress}% Information`} />
<ProgressBar now={progress} animated striped variant="warning" label={`${progress}% Warning`} />
<ProgressBar now={progress} animated striped variant="danger" label={`${progress}% Danger`} />

Stacked Progress bar with Multiple Variants

By adding the key property we can create a stacked progress bar to show different variants on a single bar. We need to wrap the key progress bar inside the <ProgressBar> component

  <ProgressBar now={20} animated striped variant="success" label={`Ok`} key={1} />
  <ProgressBar now={20} animated striped variant="info" label={`Bit High`} key={2} />
  <ProgressBar now={20} animated striped variant="warning" label={`Going High`} key={3} />
  <ProgressBar now={18} animated striped variant="danger" label={`Alert!!!`} key={4} />




We looked into the React Bootstrap package module to implement the Progress bar UI component and also discussed its various customizations options available.

Adding React Bootstrap in the ReactJs applications can really fasten the app development process by providing the number read to use UI components for multiple device support.

I hope you enjoyed this tutorial. Feel free to share your thoughts in the comment section below.

Thanks for reading!

Notify of
Inline Feedbacks
View all comments