Signup/Sign In

How to make checkboxes In Bootstrap 5

The checkboxes are square boxes used when there is a list of options and the user has the option to select between one or multiple options. The checkboxes can be used with forms and button groups in Bootstrap 5. So let's see how we can include checkboxes in forms and button groups.

Adding checkboxes in forms

  • To add checkboxes in the form Use .form-check class for each checkbox.
  • Add .form-check-input class to <input> with type=checkbox within the parent class.
  • Assign some values to the value attribute and a unique name to the id attribute.
  • Add .form-check-label class to <label>s and assign for attribute with the type of checkbox.
  • Here it is for="flexCheckDefault". You can also assign for="flexcheckchecked".
  • The checkboxes are vertically stacked one after another.

Here is an example for creating a checkbox within the form.

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap </title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css" rel="stylesheet"> 
  <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.2/dist/umd/popper.min.js" integrity="sha384-IQsoLXl5PILFhosVNubq5LC7Qb9DXgDA9i+tQ8Zj3iwWAwPtgFTxbJ8NT4GN1R8p" crossorigin="anonymous"></script>
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.min.js" integrity="sha384-Atwg2Pkwv9vp0ygtn1JAojH0nYbwNJLPhwyoVbhoPwBhjQPR5VtM2+xf0Uwh9KtT" crossorigin="anonymous"></script></head>
<body>
	<div class="form-check">
	  <input class="form-check-input" type="checkbox" value="" id="flexCheckDefault">
	  <label class="form-check-label" for="flexCheckDefault">
		 option 1
	  </label>
	</div>
	<div class="form-check">
	  <input class="form-check-input" type="checkbox" value="" id="flexCheckDefault">
	  <label class="form-check-label" for="flexCheckDefault">
		 option 1
	  </label>
	</div>
	<div class="form-check">
	  <input class="form-check-input" type="checkbox" value="" id="flexCheckDefault">
	  <label class="form-check-label" for="flexCheckDefault">
		 option 1
	  </label>
	</div>
</body>
</html>

Output:

In the following output, we have seen that the checkboxes are vertically stacked one after another.

checkbox in forms

Inline checkboxes

The checkboxes can be placed horizontally in a single row using .form-check-inline class with the form-check class.

Here is an example to create checkboxes aligned horizontally in a single row.

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap </title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css" rel="stylesheet"> 
  <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.2/dist/umd/popper.min.js" integrity="sha384-IQsoLXl5PILFhosVNubq5LC7Qb9DXgDA9i+tQ8Zj3iwWAwPtgFTxbJ8NT4GN1R8p" crossorigin="anonymous"></script>
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.min.js" integrity="sha384-Atwg2Pkwv9vp0ygtn1JAojH0nYbwNJLPhwyoVbhoPwBhjQPR5VtM2+xf0Uwh9KtT" crossorigin="anonymous"></script></head>
<body>
	<div class="form-check form-check-inline">
	  <input class="form-check-input" type="checkbox" value="" id="flexCheckDefault">
	  <label class="form-check-label" for="flexCheckDefault">
		 option 1
	  </label>
	</div>
	<div class="form-check form-check-inline">
	  <input class="form-check-input" type="checkbox" value="" id="flexCheckDefault">
	  <label class="form-check-label" for="flexCheckDefault">
		 option 1
	  </label>
	</div>
	<div class="form-check form-check-inline">
	  <input class="form-check-input" type="checkbox" value="" id="flexCheckDefault">
	  <label class="form-check-label" for="flexCheckDefault">
		 option 1
	  </label>
	</div>
</body>
</html>

Output:

Here is the output of the above program.

inline checkbox

Adding checkboxes to the button group

  • The checkbox can be created with the .btn class instead of .form-check-label. These checkboxes will be styled as buttons.
  • Further, these checkboxes can be grouped with the .btn-group class.
  • Add .btn-check class with type="checkbox" within<input>s . Also add some unigue name to id and assign autocomplete="off". so the checkbox remains unmarked.
  • The <label>s will be assigned with .btn class and for attribute will point to id of <input> element.
  • The checkboxes in the button group are placed in horizontal lines.

Here is an example of adding checkboxes to the button group.

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap </title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css" rel="stylesheet"> 
  <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.2/dist/umd/popper.min.js" integrity="sha384-IQsoLXl5PILFhosVNubq5LC7Qb9DXgDA9i+tQ8Zj3iwWAwPtgFTxbJ8NT4GN1R8p" crossorigin="anonymous"></script>
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.min.js" integrity="sha384-Atwg2Pkwv9vp0ygtn1JAojH0nYbwNJLPhwyoVbhoPwBhjQPR5VtM2+xf0Uwh9KtT" crossorigin="anonymous"></script></head>
<body>
	<div class="btn-group" role="group" aria-label="Basic checkbox toggle button group">
	  <input type="checkbox" class="btn-check" id="btncheck1" autocomplete="off">
	  <label class="btn btn-outline-primary" for="btncheck1">Checkbox 1</label>
	  <input type="checkbox" class="btn-check" id="btncheck2" autocomplete="off">
	  <label class="btn btn-outline-primary" for="btncheck2">Checkbox 2</label>
	  <input type="checkbox" class="btn-check" id="btncheck3" autocomplete="off">
	  <label class="btn btn-outline-primary" for="btncheck3">Checkbox 3</label>
	</div>
</body>
</html>

Output:

Here is the output showing checkboxes using buttons.

checkbox with buttons

Conclusion

Here we learned how to create checkboxes using forms and button group class in Bootstrap 5.