Form Pickers
Bootstrap’s form controls expand on our Rebooted form styles with classes. Use these classes to opt
into their customized displays for a more consistent rendering across browsers and devices. Be sure to use
an appropriate type attribute on all inputs (e.g., email for email address or
number for numerical
information) to take advantage of newer input controls like email verification, number selection, and
more.
Example
Input Type Text
Using input type="text"
<form>
<div class="form-group">
<input type="text" class="form-control" value="Name">
</div>
</form>
Input Type Password
Using input type="password"
<form>
<div class="form-group">
<input type="password" class="form-control" value="Name">
</div>
</form>
Input Phone Number
Using input type="tel"
<form>
<div class="form-group">
<input type="tel" class="form-control" value="1-(444)-444-4445">
</div>
</form>
Input Type Email
Using input type="email"
<form>
<div class="form-group">
<input type="email" class="form-control" value="abc@example.com">
</div>
</form>
Input Type URL
Using input type="url"
<form>
<div class="form-group">
<input type="url" class="form-control" value="http://google.com">
</div>
</form>
Input Type Search
Using input type="search"
<form>
<div class="form-group">
<input type="search" class="form-control" value="how to...">
</div>
</form>
Input Type Numbers
Using input type="number"
<form>
<div class="form-group">
<input type="number" class="form-control" value="6029">
</div>
</form>
Input Type Date Time
Using input type="datetime-local"
<form>
<div class="form-group">
<input type="datetime-local" class="form-control" value="2025-05-13T22:33:00">
</div>
</form>
Input Type Date
Using input type="date"
<form>
<div class="form-group">
<input type="date" class="form-control" value="2025-05-13">
</div>
</form>
Input Type Time
Using input type="time"
<form>
<div class="form-group">
<input type="time" class="form-control" value="22:33:00">
</div>
</form>
Input Type Week
Using input type="week"
<form>
<div class="form-group">
<input type="week" class="form-control" value="2025-W33">
</div>
</form>
Input Type Month
Using input type="month"
<form>
<div class="form-group">
<input type="month" class="form-control" value="2025-08">
</div>
</form>
Textarea
<form>
<div class="form-group">
<textarea class="form-control" rows="3"></textarea>
</div>
</form>
Input Type Color
Using input type="color"
<form>
<div class="form-group">
<input type="color" class="form-control" value="#563d7c">
</div>
</form>
Bootstrap Colorpicker
Use form-control-color classs for bootstrap colorpicker
<form>
<div class="form-group">
<input type="color" class="form-control form-control-color" id="exampleColorInput" value="#563d7c" title="Choose your color">
</div>
</form>
Input Type Range
Using input type="range"
<form>
<div class="form-group">
<input type="range" class="form-range" id="customRange1">
</div>
</form>
Form Select
To use add .form-select class
<form>
<div class="form-group mb-4">
<label class="mr-sm-2" for="inlineFormCustomSelect">Select</label>
<select class="form-select mr-sm-2" id="inlineFormCustomSelect">
<option selected>Choose...</option>
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
</div>
</form>
File Upload
To use add .form-control-file class to the input
<form>
<input class="form-control" type="file" id="formFile">
</form>
Inline Checkbox
<div class="form-check form-check-inline">
<input class="form-check-input" type="checkbox" id="inlineCheckbox1" value="option1">
<label class="form-check-label" for="inlineCheckbox1">1</label>
</div>
<div class="form-check form-check-inline">
<input class="form-check-input" type="checkbox" id="inlineCheckbox2" value="option2">
<label class="form-check-label" for="inlineCheckbox2">2</label>
</div>
<div class="form-check form-check-inline">
<input class="form-check-input" type="checkbox" id="inlineCheckbox3" value="option3" disabled>
<label class="form-check-label" for="inlineCheckbox3">3 (disabled)</label>
</div>
Inline Radio Button
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" name="inlineRadioOptions" id="inlineRadio1" value="option1">
<label class="form-check-label" for="inlineRadio1">1</label>
</div>
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" name="inlineRadioOptions" id="inlineRadio2" value="option2">
<label class="form-check-label" for="inlineRadio2">2</label>
</div>
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" name="inlineRadioOptions" id="inlineRadio3" value="option3" disabled>
<label class="form-check-label" for="inlineRadio3">3 (disabled)</label>
</div>
Disabled
Add the disabled boolean attribute on an input to give it a grayed
out appearance, remove pointer events, and prevent focusing.
<input class="form-control mb-2" type="text" placeholder="Disabled input" aria-label="Disabled input example" disabled>
<input class="form-control" type="text" value="Disabled readonly input" aria-label="Disabled input example" disabled readonly>
Switches
A switch has the markup of a custom checkbox but uses the
.form-switch class to
render a toggle switch. Consider using role="switch" to more accurately convey the nature of
the control
to assistive technologies that support this role. In older assistive technologies, it will simply be
announced as a regular checkbox as a fallback. Switches also support the disabled attribute.
<div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" id="switchCheckDefault">
<label class="form-check-label" for="switchCheckDefault">Default switch checkbox input</label>
</div>
<div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" id="switchCheckChecked" checked>
<label class="form-check-label" for="switchCheckChecked">Checked switch checkbox input</label>
</div>
<div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" id="switchCheckDisabled" disabled>
<label class="form-check-label" for="switchCheckDisabled">Disabled switch checkbox input</label>
</div>
<div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" id="switchCheckCheckedDisabled" checked disabled>
<label class="form-check-label" for="switchCheckCheckedDisabled">Disabled checked switch checkbox input</label>
</div>
Floating labels
Wrap a pair of <input class="form-control"> and elements in
.form-floating to enable floating labels with Bootstrap’s textual form fields. A placeholder is required
on each <input> as our method of CSS-only floating labels uses the :placeholder-shown pseudo-element.
Also note that the <input> must come first so we can utilize a sibling selector (e.g., ~).
<div class="form-floating mb-3">
<input type="email" class="form-control" id="floatingInput" placeholder="name@example.com">
<label for="floatingInput">Email address</label>
</div>
<div class="form-floating">
<input type="password" class="form-control" id="floatingPassword" placeholder="Password">
<label for="floatingPassword">Password</label>
</div>