ℹ️ Skipped - page is already crawled
| Filter | Status | Condition | Details |
|---|---|---|---|
| HTTP status | PASS | download_http_code = 200 | HTTP 200 |
| Age cutoff | PASS | download_stamp > now() - 6 MONTH | 0 months ago |
| History drop | PASS | isNull(history_drop_reason) | No drop reason |
| Spam/ban | PASS | fh_dont_index != 1 AND ml_spam_score = 0 | ml_spam_score=0 |
| Canonical | PASS | meta_canonical IS NULL OR = '' OR = src_unparsed | Not set |
| Property | Value |
|---|---|
| URL | https://getbootstrap.com/ |
| Last Crawled | 2026-04-07 10:04:05 (1 hour ago) |
| First Indexed | 2014-08-07 09:10:24 (11 years ago) |
| HTTP Status Code | 200 |
| Meta Title | Bootstrap · The most popular HTML, CSS, and JS library in the world. |
| Meta Description | Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins. |
| Meta Canonical | null |
| Boilerpipe Text | Get started any way you want
Jump right into building with Bootstrap—use the CDN, install it via package manager, or download the source code.
Read installation docs
Install via package manager
Install Bootstrap’s source Sass and JavaScript files via npm, RubyGems, Composer, or Meteor. Package-managed
installs don’t include documentation or our full build scripts. You can also
use any demo from our Examples repo
to quickly jumpstart Bootstrap projects.
npm
install
bootstrap@5.3.8
gem
install
bootstrap
-v
5.3
.8
Read our installation docs
for more info and additional
package managers.
Include via CDN
When you only need to include Bootstrap’s compiled CSS or JS, you can use
jsDelivr
. See it in action with our simple
quick start
, or
browse the examples
to jumpstart your next project. You can also
choose to include Popper and our JS
separately
.
<
link
href
=
"
https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.min.css
"
rel
=
"
stylesheet
"
integrity
=
"
sha384-sRIl4kxILFvY47J16cr9ZwB07vP4J8+LH7qKQnuqkuIAvNWLzeN8tE5YBujZqJLB
"
crossorigin
=
"
anonymous
"
>
<
script
src
=
"
https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/js/bootstrap.bundle.min.js
"
integrity
=
"
sha384-FKyoEForCGlyvwx9Hj09JcYn3nv7wiPVlz7YYwJrWVcXK/BmnVDxM+D2scQbITxI
"
crossorigin
=
"
anonymous
"
>
</
script
>
Read our getting started guides
Get a jump on including Bootstrap's source files in a new project with our official guides.
Webpack
Parcel
Vite
Customize everything with Sass
Bootstrap utilizes Sass for a modular and customizable architecture. Import only the components you need, enable
global options like gradients and shadows, and write your own CSS with our variables, maps, functions, and mixins.
Learn more about customizing
Include all of Bootstrap’s Sass
Import one stylesheet and you're off to the races with every feature of our CSS.
// Variable overrides first
$primary
:
#900
;
$enable-shadows
:
true
;
$prefix
:
"mo-"
;
// Then import Bootstrap
@import
"../node_modules/bootstrap/scss/bootstrap"
;
Learn more about our
global Sass options
.
Include what you need
The easiest way to customize Bootstrap—include only the CSS you need.
// Functions first
@import
"../node_modules/bootstrap/scss/functions"
;
// Variable overrides second
$primary
:
#900
;
$enable-shadows
:
true
;
$prefix
:
"mo-"
;
// Required Bootstrap imports
@import
"../node_modules/bootstrap/scss/variables"
;
@import
"../node_modules/bootstrap/scss/variables-dark"
;
@import
"../node_modules/bootstrap/scss/maps"
;
@import
"../node_modules/bootstrap/scss/mixins"
;
@import
"../node_modules/bootstrap/scss/root"
;
// Optional components
@import
"../node_modules/bootstrap/scss/utilities"
;
@import
"../node_modules/bootstrap/scss/reboot"
;
@import
"../node_modules/bootstrap/scss/containers"
;
@import
"../node_modules/bootstrap/scss/grid"
;
@import
"../node_modules/bootstrap/scss/helpers"
;
@import
"../node_modules/bootstrap/scss/utilities/api"
;
Learn more about
using Bootstrap with Sass
.
Build and extend in real-time with CSSÂ variables
Bootstrap 5 is evolving with each release to better utilize CSS variables for global theme styles, individual
components, and even utilities. We provide dozens of variables for colors, font styles, and more at a
:root
level for use anywhere. On components and utilities, CSS variables are scoped to the relevant class and can easily
be modified.
Learn more about CSS variables
Using CSS variables
Use any of our
global
:root
variables
to write new styles. CSS variables use the
var(--bs-variableName)
syntax and can be inherited by children
elements.
.component
{
color
:
var
(
--bs-gray-800
)
;
background-color
:
var
(
--bs-gray-100
)
;
border
:
1px solid
var
(
--bs-gray-200
)
;
border-radius
:
.25rem
;
}
.component-header
{
color
:
var
(
--bs-purple
)
;
}
Customizing via CSS variables
Override global, component, or utility class variables to customize Bootstrap just how you like. No need to
redeclare each rule, just a new variable value.
body
{
--bs-body-font-family
:
var
(
--bs-font-monospace
)
;
--bs-body-line-height
:
1.4
;
--bs-body-bg
:
var
(
--bs-gray-100
)
;
}
.table
{
--bs-table-color
:
var
(
--bs-gray-600
)
;
--bs-table-bg
:
var
(
--bs-gray-100
)
;
--bs-table-border-color
:
transparent
;
}
Components, meet the Utility API
New in Bootstrap 5, our utilities are now generated by our
Utility API
. We built it as a feature-packed Sass map that can be quickly and easily customized. It's never been easier to
add, remove, or modify any utility classes. Make utilities responsive, add pseudo-class variants, and give them
custom names.
Quickly customize components
Apply any of our included utility classes to our components to customize their appearance, like the navigation
example below. There are hundreds of classes available—from
positioning
and
sizing
to
colors
and
effects
. Mix them with CSS variable overrides for
even more control.
<
ul
class
=
"
nav nav-pills nav-fill gap-2 p-1 small bg-primary rounded-5 shadow-sm
"
id
=
"
pillNav2
"
role
=
"
tablist
"
style
=
"
--bs-nav-link-color
:
var
(
--bs-white
)
;
--bs-nav-pills-link-active-color
:
var
(
--bs-primary
)
;
--bs-nav-pills-link-active-bg
:
var
(
--bs-white
)
;
"
>
<
li
class
=
"
nav-item
"
role
=
"
presentation
"
>
<
button
class
=
"
nav-link active rounded-5
"
id
=
"
home-tab2
"
data-bs-toggle
=
"
tab
"
type
=
"
button
"
role
=
"
tab
"
aria-selected
=
"
true
"
>
Home
</
button
>
</
li
>
<
li
class
=
"
nav-item
"
role
=
"
presentation
"
>
<
button
class
=
"
nav-link rounded-5
"
id
=
"
profile-tab2
"
data-bs-toggle
=
"
tab
"
type
=
"
button
"
role
=
"
tab
"
aria-selected
=
"
false
"
>
Profile
</
button
>
</
li
>
<
li
class
=
"
nav-item
"
role
=
"
presentation
"
>
<
button
class
=
"
nav-link rounded-5
"
id
=
"
contact-tab2
"
data-bs-toggle
=
"
tab
"
type
=
"
button
"
role
=
"
tab
"
aria-selected
=
"
false
"
>
Contact
</
button
>
</
li
>
</
ul
>
Explore customized components
Create and extend utilities
Use Bootstrap's utility API to modify any of our included utilities or create your own custom utilities for any
project. Import Bootstrap first, then use Sass map functions to modify, add, or remove utilities.
@import
"bootstrap/scss/bootstrap"
;
$utilities
:
map-merge
(
$utilities
,
(
"cursor"
:
(
property
:
cursor
,
class
:
cursor
,
responsive
:
true
,
values
:
auto pointer grab
,
)
)
)
;
Explore the utility API
Powerful JavaScript plugins without jQuery
Add toggleable hidden elements, modals and offcanvas menus, popovers and tooltips, and so much more—all without
jQuery. Bootstrap's JavaScript is HTML-first, meaning most plugins are added with
data
attributes in your
HTML. Need more control? Include individual plugins programmatically.
Learn more about Bootstrap JavaScript
Data attribute API
Why write more JavaScript when you can write HTML? Nearly all of Bootstrap's JavaScript plugins feature a
first-class data API, allowing you to use JavaScript just by adding
data
attributes.
<
div
class
=
"
dropdown
"
>
<
button
class
=
"
btn btn-primary dropdown-toggle
"
type
=
"
button
"
data-bs-toggle
=
"
dropdown
"
aria-expanded
=
"
false
"
>
Dropdown
</
button
>
<
ul
class
=
"
dropdown-menu
"
>
<
li
>
<
button
class
=
"
dropdown-item
"
type
=
"
button
"
>
Dropdown item
</
button
>
</
li
>
<
li
>
<
button
class
=
"
dropdown-item
"
type
=
"
button
"
>
Dropdown item
</
button
>
</
li
>
<
li
>
<
button
class
=
"
dropdown-item
"
type
=
"
button
"
>
Dropdown item
</
button
>
</
li
>
</
ul
>
</
div
>
Learn more about
our JavaScript as modules
and
using the programmatic API
.
Comprehensive set of plugins
Bootstrap features a dozen plugins that you can drop into any project. Drop them in all at once, or choose just
the ones you need.
Alert
Show and hide alert messages to your users.
Button
Programmatically control the active state for buttons.
Carousel
Add slideshows to any page, including support for crossfade.
Collapse
Expand and collapse areas of content, or create accordions.
Dropdown
Create menus of links, actions, forms, and more.
Modal
Add flexible and responsive dialogs to your project.
Offcanvas
Build and toggle hidden sidebars into any page.
Popover
Create custom overlays. Built on Popper.
Scrollspy
Automatically update active nav links based on page scroll.
Tab
Allow Bootstrap nav components to toggle contents.
Toast
Show and hide notifications to your visitors.
Tooltip
Replace browser tooltips with custom ones. Built on Popper.
Personalize it with Bootstrap Icons
Bootstrap Icons
is an open source SVG icon library featuring over 1,800 glyphs, with
more added every release. They're designed to work in any project, whether you use Bootstrap itself or not. Use them
as SVGs or icon fonts—both options give you vector scaling and easy customization via CSS.
Get Bootstrap Icons |
| Markdown | [Skip to main content](https://getbootstrap.com/#content)
Search
```K`
##### Bootstrap
***
- [Docs](https://getbootstrap.com/docs/5.3/getting-started/introduction/)
- [Examples](https://getbootstrap.com/docs/5.3/examples/)
- [Icons](https://icons.getbootstrap.com/)
- [Blog](https://blog.getbootstrap.com/)
***
- [GitHub](https://github.com/twbs)
- [X](https://x.com/getbootstrap)
- [Open Collective](https://opencollective.com/bootstrap)
- ***
- BootstrapBootstrap v5.3 (switch to other versions)
- ###### v5 releases
- [Latest (5.3.x)](https://getbootstrap.com/)
- [v5.2.3](https://getbootstrap.com/docs/5.2/)
- [v5.1.3](https://getbootstrap.com/docs/5.1/)
- [v5.0.2](https://getbootstrap.com/docs/5.0/)
- ***
- ###### Previous releases
- [v4.6.x](https://getbootstrap.com/docs/4.6/)
- [v3.4.1](https://getbootstrap.com/docs/3.4/)
- [v2.3.2](https://getbootstrap.com/2.3.2/)
- ***
- [All versions](https://getbootstrap.com/docs/versions/)
- ***
- Toggle theme
- Light
- Dark
- Auto
[Get Security Updates for Bootstrap 3 & 4](https://www.herodevs.com/support/nes-bootstrap?utm_source=Bootstrap_site&utm_medium=Banner&utm_campaign=v3and4_eol)

# Build fast, responsive sites with Bootstrap
Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins.
```
npm i bootstrap@5.3.8
```
[Read the docs](https://getbootstrap.com/docs/5.3/getting-started/introduction)
Currently **v5.3.8** · [Download](https://getbootstrap.com/docs/5.3/getting-started/download) · [All releases](https://getbootstrap.com/docs/versions/)
## Get started any way you want
Jump right into building with Bootstrap—use the CDN, install it via package manager, or download the source code.
[Read installation docs](https://getbootstrap.com/docs/5.3/getting-started/download/)
### Install via package manager
Install Bootstrap’s source Sass and JavaScript files via npm, RubyGems, Composer, or Meteor. Package-managed installs don’t include documentation or our full build scripts. You can also [use any demo from our Examples repo](https://github.com/twbs/examples/) to quickly jumpstart Bootstrap projects.
```
npm install bootstrap@5.3.8
```
```
gem install bootstrap -v 5.3.8
```
[Read our installation docs](https://getbootstrap.com/docs/5.3/getting-started/download) for more info and additional package managers.
### Include via CDN
When you only need to include Bootstrap’s compiled CSS or JS, you can use [jsDelivr](https://www.jsdelivr.com/package/npm/bootstrap). See it in action with our simple [quick start](https://getbootstrap.com/docs/5.3/getting-started/introduction/#quick-start), or [browse the examples](https://getbootstrap.com/docs/5.3/examples) to jumpstart your next project. You can also choose to include Popper and our JS [separately](https://getbootstrap.com/docs/5.3/getting-started/introduction/#separate).
```
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-sRIl4kxILFvY47J16cr9ZwB07vP4J8+LH7qKQnuqkuIAvNWLzeN8tE5YBujZqJLB" crossorigin="anonymous">
```
```
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/js/bootstrap.bundle.min.js" integrity="sha384-FKyoEForCGlyvwx9Hj09JcYn3nv7wiPVlz7YYwJrWVcXK/BmnVDxM+D2scQbITxI" crossorigin="anonymous"></script>
```
#### Read our getting started guides
Get a jump on including Bootstrap's source files in a new project with our official guides.
[ Webpack](https://getbootstrap.com/docs/5.3/getting-started/webpack/) [ Parcel](https://getbootstrap.com/docs/5.3/getting-started/parcel/) [ Vite](https://getbootstrap.com/docs/5.3/getting-started/vite/)
## Customize everything with Sass
Bootstrap utilizes Sass for a modular and customizable architecture. Import only the components you need, enable global options like gradients and shadows, and write your own CSS with our variables, maps, functions, and mixins.
[Learn more about customizing](https://getbootstrap.com/docs/5.3/customize/overview/)
### Include all of Bootstrap’s Sass
Import one stylesheet and you're off to the races with every feature of our CSS.
```
// Variable overrides first
$primary: #900;
$enable-shadows: true;
$prefix: "mo-";
// Then import Bootstrap
@import "../node_modules/bootstrap/scss/bootstrap";
```
Learn more about our [global Sass options](https://getbootstrap.com/docs/5.3/customize/options).
### Include what you need
The easiest way to customize Bootstrap—include only the CSS you need.
```
// Functions first
@import "../node_modules/bootstrap/scss/functions";
// Variable overrides second
$primary: #900;
$enable-shadows: true;
$prefix: "mo-";
// Required Bootstrap imports
@import "../node_modules/bootstrap/scss/variables";
@import "../node_modules/bootstrap/scss/variables-dark";
@import "../node_modules/bootstrap/scss/maps";
@import "../node_modules/bootstrap/scss/mixins";
@import "../node_modules/bootstrap/scss/root";
// Optional components
@import "../node_modules/bootstrap/scss/utilities";
@import "../node_modules/bootstrap/scss/reboot";
@import "../node_modules/bootstrap/scss/containers";
@import "../node_modules/bootstrap/scss/grid";
@import "../node_modules/bootstrap/scss/helpers";
@import "../node_modules/bootstrap/scss/utilities/api";
```
Learn more about [using Bootstrap with Sass](https://getbootstrap.com/docs/5.3/customize/sass).
## Build and extend in real-time with CSS variables
Bootstrap 5 is evolving with each release to better utilize CSS variables for global theme styles, individual components, and even utilities. We provide dozens of variables for colors, font styles, and more at a `:root` level for use anywhere. On components and utilities, CSS variables are scoped to the relevant class and can easily be modified.
[Learn more about CSS variables](https://getbootstrap.com/docs/5.3/customize/css-variables)
### Using CSS variables
Use any of our [global `:root` variables](https://getbootstrap.com/docs/5.3/customize/css-variables/#root-variables) to write new styles. CSS variables use the `var(--bs-variableName)` syntax and can be inherited by children elements.
```
.component {
color: var(--bs-gray-800);
background-color: var(--bs-gray-100);
border: 1px solid var(--bs-gray-200);
border-radius: .25rem;
}
.component-header {
color: var(--bs-purple);
}
```
### Customizing via CSS variables
Override global, component, or utility class variables to customize Bootstrap just how you like. No need to redeclare each rule, just a new variable value.
```
body {
--bs-body-font-family: var(--bs-font-monospace);
--bs-body-line-height: 1.4;
--bs-body-bg: var(--bs-gray-100);
}
.table {
--bs-table-color: var(--bs-gray-600);
--bs-table-bg: var(--bs-gray-100);
--bs-table-border-color: transparent;
}
```
## Components, meet the Utility API
New in Bootstrap 5, our utilities are now generated by our [Utility API](https://getbootstrap.com/docs/5.3/utilities/api). We built it as a feature-packed Sass map that can be quickly and easily customized. It's never been easier to add, remove, or modify any utility classes. Make utilities responsive, add pseudo-class variants, and give them custom names.
### Quickly customize components
Apply any of our included utility classes to our components to customize their appearance, like the navigation example below. There are hundreds of classes available—from [positioning](https://getbootstrap.com/docs/5.3/utilities/position) and [sizing](https://getbootstrap.com/docs/5.3/utilities/sizing) to [colors](https://getbootstrap.com/docs/5.3/utilities/colors) and [effects](https://getbootstrap.com/docs/5.3/utilities/shadows). Mix them with CSS variable overrides for even more control.
- Home
- Profile
- Contact
- Home
- Profile
- Contact
```
<ul class="nav nav-pills nav-fill gap-2 p-1 small bg-primary rounded-5 shadow-sm" id="pillNav2" role="tablist" style="--bs-nav-link-color: var(--bs-white); --bs-nav-pills-link-active-color: var(--bs-primary); --bs-nav-pills-link-active-bg: var(--bs-white);">
<li class="nav-item" role="presentation">
<button class="nav-link active rounded-5" id="home-tab2" data-bs-toggle="tab" type="button" role="tab" aria-selected="true">Home</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link rounded-5" id="profile-tab2" data-bs-toggle="tab" type="button" role="tab" aria-selected="false">Profile</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link rounded-5" id="contact-tab2" data-bs-toggle="tab" type="button" role="tab" aria-selected="false">Contact</button>
</li>
</ul>
```
[Explore customized components](https://getbootstrap.com/docs/5.3/examples/#snippets)
### Create and extend utilities
Use Bootstrap's utility API to modify any of our included utilities or create your own custom utilities for any project. Import Bootstrap first, then use Sass map functions to modify, add, or remove utilities.
```
@import "bootstrap/scss/bootstrap";
$utilities: map-merge(
$utilities,
(
"cursor": (
property: cursor,
class: cursor,
responsive: true,
values: auto pointer grab,
)
)
);
```
[Explore the utility API](https://getbootstrap.com/docs/5.3/utilities/api/)
## Powerful JavaScript plugins without jQuery
Add toggleable hidden elements, modals and offcanvas menus, popovers and tooltips, and so much more—all without jQuery. Bootstrap's JavaScript is HTML-first, meaning most plugins are added with `data` attributes in your HTML. Need more control? Include individual plugins programmatically.
[Learn more about Bootstrap JavaScript](https://getbootstrap.com/docs/5.3/getting-started/javascript)
### Data attribute API
Why write more JavaScript when you can write HTML? Nearly all of Bootstrap's JavaScript plugins feature a first-class data API, allowing you to use JavaScript just by adding `data` attributes.
Dropdown
- Dropdown item
- Dropdown item
- Dropdown item
```
<div class="dropdown">
<button class="btn btn-primary dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">
Dropdown
</button>
<ul class="dropdown-menu">
<li><button class="dropdown-item" type="button">Dropdown item</button></li>
<li><button class="dropdown-item" type="button">Dropdown item</button></li>
<li><button class="dropdown-item" type="button">Dropdown item</button></li>
</ul>
</div>
```
Learn more about [our JavaScript as modules](https://getbootstrap.com/docs/5.3/getting-started/javascript/#using-bootstrap-as-a-module) and [using the programmatic API](https://getbootstrap.com/docs/5.3/getting-started/javascript/#programmatic-api).
### Comprehensive set of plugins
Bootstrap features a dozen plugins that you can drop into any project. Drop them in all at once, or choose just the ones you need.
***
[Alert Show and hide alert messages to your users.](https://getbootstrap.com/docs/5.3/components/alerts/#javascript-behavior)
[Button Programmatically control the active state for buttons.](https://getbootstrap.com/docs/5.3/components/buttons/#button-plugin)
[Carousel Add slideshows to any page, including support for crossfade.](https://getbootstrap.com/docs/5.3/components/carousel/)
[Collapse Expand and collapse areas of content, or create accordions.](https://getbootstrap.com/docs/5.3/components/collapse/)
[Dropdown Create menus of links, actions, forms, and more.](https://getbootstrap.com/docs/5.3/components/dropdowns/)
[Modal Add flexible and responsive dialogs to your project.](https://getbootstrap.com/docs/5.3/components/modal/)
[Offcanvas Build and toggle hidden sidebars into any page.](https://getbootstrap.com/docs/5.3/components/offcanvas/)
[Popover Create custom overlays. Built on Popper.](https://getbootstrap.com/docs/5.3/components/popovers/)
[Scrollspy Automatically update active nav links based on page scroll.](https://getbootstrap.com/docs/5.3/components/scrollspy/)
[Tab Allow Bootstrap nav components to toggle contents.](https://getbootstrap.com/docs/5.3/components/navs-tabs/)
[Toast Show and hide notifications to your visitors.](https://getbootstrap.com/docs/5.3/components/toasts/)
[Tooltip Replace browser tooltips with custom ones. Built on Popper.](https://getbootstrap.com/docs/5.3/components/tooltips/)
## Personalize it with Bootstrap Icons
[Bootstrap Icons](https://icons.getbootstrap.com/) is an open source SVG icon library featuring over 1,800 glyphs, with more added every release. They're designed to work in any project, whether you use Bootstrap itself or not. Use them as SVGs or icon fonts—both options give you vector scaling and easy customization via CSS.
[Get Bootstrap Icons](https://icons.getbootstrap.com/)

[Bootstrap](https://getbootstrap.com/)
- Designed and built with all the love in the world by the [Bootstrap team](https://getbootstrap.com/docs/5.3/about/team) with the help of [our contributors](https://github.com/twbs/bootstrap/graphs/contributors).
- Code licensed [MIT](https://github.com/twbs/bootstrap/blob/main/LICENSE), docs [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/).
- Currently v5.3.8.
##### Links
- [Home](https://getbootstrap.com/)
- [Docs](https://getbootstrap.com/docs/5.3/)
- [Examples](https://getbootstrap.com/docs/5.3/examples)
- [Icons](https://icons.getbootstrap.com/)
- [Blog](https://blog.getbootstrap.com/)
- [Swag Store](https://cottonbureau.com/people/bootstrap)
##### Guides
- [Getting started](https://getbootstrap.com/docs/5.3/getting-started)
- [Starter template](https://getbootstrap.com/docs/5.3/examples/starter-template)
- [Webpack](https://getbootstrap.com/docs/5.3/getting-started/webpack)
- [Parcel](https://getbootstrap.com/docs/5.3/getting-started/parcel)
- [Vite](https://getbootstrap.com/docs/5.3/getting-started/vite)
##### Projects
- [Bootstrap 5](https://github.com/twbs/bootstrap)
- [Bootstrap 4](https://github.com/twbs/bootstrap/tree/v4-dev)
- [Icons](https://github.com/twbs/icons)
- [RFS](https://github.com/twbs/rfs)
- [Examples repo](https://github.com/twbs/examples)
##### Community
- [Issues](https://github.com/twbs/bootstrap/issues)
- [Discussions](https://github.com/twbs/bootstrap/discussions)
- [Corporate sponsors](https://github.com/sponsors/twbs)
- [Open Collective](https://opencollective.com/bootstrap)
- [Stack Overflow](https://stackoverflow.com/questions/tagged/bootstrap-5) |
| Readable Markdown | ## Get started any way you want
Jump right into building with Bootstrap—use the CDN, install it via package manager, or download the source code.
[Read installation docs](https://getbootstrap.com/docs/5.3/getting-started/download/)
### Install via package manager
Install Bootstrap’s source Sass and JavaScript files via npm, RubyGems, Composer, or Meteor. Package-managed installs don’t include documentation or our full build scripts. You can also [use any demo from our Examples repo](https://github.com/twbs/examples/) to quickly jumpstart Bootstrap projects.
```
npm install bootstrap@5.3.8
```
```
gem install bootstrap -v 5.3.8
```
[Read our installation docs](https://getbootstrap.com/docs/5.3/getting-started/download) for more info and additional package managers.
### Include via CDN
When you only need to include Bootstrap’s compiled CSS or JS, you can use [jsDelivr](https://www.jsdelivr.com/package/npm/bootstrap). See it in action with our simple [quick start](https://getbootstrap.com/docs/5.3/getting-started/introduction/#quick-start), or [browse the examples](https://getbootstrap.com/docs/5.3/examples) to jumpstart your next project. You can also choose to include Popper and our JS [separately](https://getbootstrap.com/docs/5.3/getting-started/introduction/#separate).
```
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-sRIl4kxILFvY47J16cr9ZwB07vP4J8+LH7qKQnuqkuIAvNWLzeN8tE5YBujZqJLB" crossorigin="anonymous">
```
```
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/js/bootstrap.bundle.min.js" integrity="sha384-FKyoEForCGlyvwx9Hj09JcYn3nv7wiPVlz7YYwJrWVcXK/BmnVDxM+D2scQbITxI" crossorigin="anonymous"></script>
```
#### Read our getting started guides
Get a jump on including Bootstrap's source files in a new project with our official guides.
[ Webpack](https://getbootstrap.com/docs/5.3/getting-started/webpack/) [ Parcel](https://getbootstrap.com/docs/5.3/getting-started/parcel/) [ Vite](https://getbootstrap.com/docs/5.3/getting-started/vite/)
## Customize everything with Sass
Bootstrap utilizes Sass for a modular and customizable architecture. Import only the components you need, enable global options like gradients and shadows, and write your own CSS with our variables, maps, functions, and mixins.
[Learn more about customizing](https://getbootstrap.com/docs/5.3/customize/overview/)
### Include all of Bootstrap’s Sass
Import one stylesheet and you're off to the races with every feature of our CSS.
```
// Variable overrides first
$primary: #900;
$enable-shadows: true;
$prefix: "mo-";
// Then import Bootstrap
@import "../node_modules/bootstrap/scss/bootstrap";
```
Learn more about our [global Sass options](https://getbootstrap.com/docs/5.3/customize/options).
### Include what you need
The easiest way to customize Bootstrap—include only the CSS you need.
```
// Functions first
@import "../node_modules/bootstrap/scss/functions";
// Variable overrides second
$primary: #900;
$enable-shadows: true;
$prefix: "mo-";
// Required Bootstrap imports
@import "../node_modules/bootstrap/scss/variables";
@import "../node_modules/bootstrap/scss/variables-dark";
@import "../node_modules/bootstrap/scss/maps";
@import "../node_modules/bootstrap/scss/mixins";
@import "../node_modules/bootstrap/scss/root";
// Optional components
@import "../node_modules/bootstrap/scss/utilities";
@import "../node_modules/bootstrap/scss/reboot";
@import "../node_modules/bootstrap/scss/containers";
@import "../node_modules/bootstrap/scss/grid";
@import "../node_modules/bootstrap/scss/helpers";
@import "../node_modules/bootstrap/scss/utilities/api";
```
Learn more about [using Bootstrap with Sass](https://getbootstrap.com/docs/5.3/customize/sass).
## Build and extend in real-time with CSS variables
Bootstrap 5 is evolving with each release to better utilize CSS variables for global theme styles, individual components, and even utilities. We provide dozens of variables for colors, font styles, and more at a `:root` level for use anywhere. On components and utilities, CSS variables are scoped to the relevant class and can easily be modified.
[Learn more about CSS variables](https://getbootstrap.com/docs/5.3/customize/css-variables)
### Using CSS variables
Use any of our [global `:root` variables](https://getbootstrap.com/docs/5.3/customize/css-variables/#root-variables) to write new styles. CSS variables use the `var(--bs-variableName)` syntax and can be inherited by children elements.
```
.component {
color: var(--bs-gray-800);
background-color: var(--bs-gray-100);
border: 1px solid var(--bs-gray-200);
border-radius: .25rem;
}
.component-header {
color: var(--bs-purple);
}
```
### Customizing via CSS variables
Override global, component, or utility class variables to customize Bootstrap just how you like. No need to redeclare each rule, just a new variable value.
```
body {
--bs-body-font-family: var(--bs-font-monospace);
--bs-body-line-height: 1.4;
--bs-body-bg: var(--bs-gray-100);
}
.table {
--bs-table-color: var(--bs-gray-600);
--bs-table-bg: var(--bs-gray-100);
--bs-table-border-color: transparent;
}
```
## Components, meet the Utility API
New in Bootstrap 5, our utilities are now generated by our [Utility API](https://getbootstrap.com/docs/5.3/utilities/api). We built it as a feature-packed Sass map that can be quickly and easily customized. It's never been easier to add, remove, or modify any utility classes. Make utilities responsive, add pseudo-class variants, and give them custom names.
### Quickly customize components
Apply any of our included utility classes to our components to customize their appearance, like the navigation example below. There are hundreds of classes available—from [positioning](https://getbootstrap.com/docs/5.3/utilities/position) and [sizing](https://getbootstrap.com/docs/5.3/utilities/sizing) to [colors](https://getbootstrap.com/docs/5.3/utilities/colors) and [effects](https://getbootstrap.com/docs/5.3/utilities/shadows). Mix them with CSS variable overrides for even more control.
```
<ul class="nav nav-pills nav-fill gap-2 p-1 small bg-primary rounded-5 shadow-sm" id="pillNav2" role="tablist" style="--bs-nav-link-color: var(--bs-white); --bs-nav-pills-link-active-color: var(--bs-primary); --bs-nav-pills-link-active-bg: var(--bs-white);">
<li class="nav-item" role="presentation">
<button class="nav-link active rounded-5" id="home-tab2" data-bs-toggle="tab" type="button" role="tab" aria-selected="true">Home</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link rounded-5" id="profile-tab2" data-bs-toggle="tab" type="button" role="tab" aria-selected="false">Profile</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link rounded-5" id="contact-tab2" data-bs-toggle="tab" type="button" role="tab" aria-selected="false">Contact</button>
</li>
</ul>
```
[Explore customized components](https://getbootstrap.com/docs/5.3/examples/#snippets)
### Create and extend utilities
Use Bootstrap's utility API to modify any of our included utilities or create your own custom utilities for any project. Import Bootstrap first, then use Sass map functions to modify, add, or remove utilities.
```
@import "bootstrap/scss/bootstrap";
$utilities: map-merge(
$utilities,
(
"cursor": (
property: cursor,
class: cursor,
responsive: true,
values: auto pointer grab,
)
)
);
```
[Explore the utility API](https://getbootstrap.com/docs/5.3/utilities/api/)
## Powerful JavaScript plugins without jQuery
Add toggleable hidden elements, modals and offcanvas menus, popovers and tooltips, and so much more—all without jQuery. Bootstrap's JavaScript is HTML-first, meaning most plugins are added with `data` attributes in your HTML. Need more control? Include individual plugins programmatically.
[Learn more about Bootstrap JavaScript](https://getbootstrap.com/docs/5.3/getting-started/javascript)
### Data attribute API
Why write more JavaScript when you can write HTML? Nearly all of Bootstrap's JavaScript plugins feature a first-class data API, allowing you to use JavaScript just by adding `data` attributes.
```
<div class="dropdown">
<button class="btn btn-primary dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">
Dropdown
</button>
<ul class="dropdown-menu">
<li><button class="dropdown-item" type="button">Dropdown item</button></li>
<li><button class="dropdown-item" type="button">Dropdown item</button></li>
<li><button class="dropdown-item" type="button">Dropdown item</button></li>
</ul>
</div>
```
Learn more about [our JavaScript as modules](https://getbootstrap.com/docs/5.3/getting-started/javascript/#using-bootstrap-as-a-module) and [using the programmatic API](https://getbootstrap.com/docs/5.3/getting-started/javascript/#programmatic-api).
### Comprehensive set of plugins
Bootstrap features a dozen plugins that you can drop into any project. Drop them in all at once, or choose just the ones you need.
***
[Alert Show and hide alert messages to your users.](https://getbootstrap.com/docs/5.3/components/alerts/#javascript-behavior)
[Button Programmatically control the active state for buttons.](https://getbootstrap.com/docs/5.3/components/buttons/#button-plugin)
[Carousel Add slideshows to any page, including support for crossfade.](https://getbootstrap.com/docs/5.3/components/carousel/)
[Collapse Expand and collapse areas of content, or create accordions.](https://getbootstrap.com/docs/5.3/components/collapse/)
[Dropdown Create menus of links, actions, forms, and more.](https://getbootstrap.com/docs/5.3/components/dropdowns/)
[Modal Add flexible and responsive dialogs to your project.](https://getbootstrap.com/docs/5.3/components/modal/)
[Offcanvas Build and toggle hidden sidebars into any page.](https://getbootstrap.com/docs/5.3/components/offcanvas/)
[Popover Create custom overlays. Built on Popper.](https://getbootstrap.com/docs/5.3/components/popovers/)
[Scrollspy Automatically update active nav links based on page scroll.](https://getbootstrap.com/docs/5.3/components/scrollspy/)
[Tab Allow Bootstrap nav components to toggle contents.](https://getbootstrap.com/docs/5.3/components/navs-tabs/)
[Toast Show and hide notifications to your visitors.](https://getbootstrap.com/docs/5.3/components/toasts/)
[Tooltip Replace browser tooltips with custom ones. Built on Popper.](https://getbootstrap.com/docs/5.3/components/tooltips/)
## Personalize it with Bootstrap Icons
[Bootstrap Icons](https://icons.getbootstrap.com/) is an open source SVG icon library featuring over 1,800 glyphs, with more added every release. They're designed to work in any project, whether you use Bootstrap itself or not. Use them as SVGs or icon fonts—both options give you vector scaling and easy customization via CSS.
[Get Bootstrap Icons](https://icons.getbootstrap.com/)
 |
| Shard | 92 (laksa) |
| Root Hash | 4088328555173515292 |
| Unparsed URL | com,getbootstrap!/ s443 |