# Bootstrap Icons
> Bootstrap Icons are designed to work with Bootstrap components, from form controls to navigation.
> Bootstrap Icons are SVGs, so they scale quickly and easily and can be styled with CSS. While they
> are built for Bootstrap, they will work in any project.
BootstrapVue icon components are built from
[`bootstrap-icons` v{{ bootstrapIconsVersion }}](https://icons.getbootstrap.com/) source SVGs. Icons
are opt-in, meaning that they explicitly need to be imported in order to be used. They are not
installed by default. You do not need `bootstrap-icons` as a dependency.
Icon components were added in BootstrapVue release `v2.2.0`.
Note:Bootstrap's Icon SVGs
are currently in the alpha release stage, and may be subject to sweeping changes. Icons use
BootstrapVue's custom CSS for additional styling compensation due to Bootstrap Icons'
<svg> current vertical alignment issues. This may change in future releases of
BootstrapVue.
## Icons
The library includes over 300 icons. Use the explorer below to search and browse the available
icons.
## Usage
BootstrapVue icons are not automatically installed when using BootstrapVue in your project, you must
explicitly include them.
Icons inherit the current font color and font size from their parent container element. To change
the color of the icon, refer to the [Variants](#variants) section, and to change the size of the
icon refer to the [Sizing](#sizing) section.
All icons are exported with the name in PascalCase, prefixed with BIcon.
i.e icon `'alert-circle-fill'` is exported as `BIconAlertCircleFill`, icon `'x'` is exported as
`BIconX`, and icon `'x-square-fill'` is exported as `BIconXSquareFill`.
### Module bundlers
**Importing all icons:**
```js
import Vue from 'vue'
import { BootstrapVue, BootstrapVueIcons } from 'bootstrap-vue'
Vue.use(BootstrapVue)
Vue.use(BootstrapVueIcons)
```
Or
```js
import Vue from 'vue'
import { BootstrapVue, IconsPlugin } from 'bootstrap-vue'
Vue.use(BootstrapVue)
Vue.use(IconsPlugin)
```
**Importing specific icons:**
Making them globally available:
```js
import Vue from 'vue'
import { BootstrapVue, BIcon, BIconArrowUp, BIconArrowDown } from 'bootstrap-vue'
Vue.use(BootstrapVue)
Vue.component('BIcon', BIcon)
Vue.component('BIconArrowUp', BIconArrowUp)
Vue.component('BIconArrowDown', BIconArrowDown)
```
Or if using in specific pages or components:
```js
import { BIcon, BIconArrowUp, BIconArrowDown } from 'bootstrap-vue'
export default {
components: {
BIcon,
BIconArrowUp,
BIconArrowDown
},
props: {
// ...
}
// ...
}
```
If you are using _only_ `BootstrapVueIcons` or `IconsPlugin` in your project, you can also just
import the required icons CSS, rather than the full Bootstrap and BootstrapVue SCSS/CSS.
```js
import { BootstrapVueIcons } from 'bootstrap-vue'
import 'bootstrap-vue/dist/bootstrap-vue-icons.min.css'
Vue.use(BootstrapVueIcons)
```
Or if using the icons SCSS source:
```js
import { BootstrapVueIcons } from 'bootstrap-vue'
import 'bootstrap-vue/src/icons.scss'
Vue.use(BootstrapVueIcons)
```
BootstrapVue icons SCSS/CSS does not depend on any Bootstrap SASS variables, mixins, functions or
CSS classes (other than the Bootstrap `text-{variant}` text color utility classes, if using the
`variant` prop). Please note that the icons CSS is _also_ included in the main BootstrapVue SCSS/CSS
files.
### Browser
Icons are **not** installed by default in the UMD browser build, so you must explicitly include the
icons library:
```html
```
If using just the icons:
```html
```
### Icon components
You can either uses individual icon components, or use the icon helper component ``, to
place icons in your project templates.
All individual icon components are prefixed with the name ``, where `{name}` is one
of the icon names listed in the [Icons](#icons) section above.
**Using individual icon components:**
```html
```
**Using the `` helper component:**
```html
```
**Note:** when using ``, you **must** also import the required individual icon components,
unless you are using the `IconsPlugin` or `BootstrapVueIcons` plugin.
## Variants
By default, icons inherit the current text color of their parent element. All icon components
provide a `variant` prop to apply one of the bootstrap contextual text variant colors:
```html
```
You can also use custom CSS to set the icon color, either via direct `style` attribute, or via
custom classes:
```html
```
The `variant` prop places the [color utility class](/docs/reference/color-variants) `text-{variant}`
on the icon's root element.
## Sizing
Icons have a default width and height of `1em`, which means they will scale with the size of the
current font size:
```html
Icon
Icon
Icon
Icon
Icon
```
You can also use custom CSS to set the icon size, either via direct `style` attribute, or via custom
classes:
```html
```
You can also use the prop `font-scale` to scale the icon's current font size by the specified
factor:
```html
```
Also see the [scaling transforms](#scale) section below for additional sizing options.
## Styling
With the use of Bootstrap's border and background
[utility classes](/docs/reference/utility-classes), you can create various styling effects:
```html
```
## Transforms
BootstrapVue icons provide several props for applying basic SVG transforms to the `