The only two required dependencies are Angular and Bootstrap CSS. The supported versions are:

ng-bootstrap | Angular | Bootstrap CSS
--- | --- | ---
1.x.x | 5.0.2 | 4.0.0
2.x.x | 6.0.0 | 4.0.0
3.x.x | 6.1.0 | 4.0.0
4.x.x | 7.0.0 | 4.0.0
5.x.x | 8.0.0 | 4.3.1
6.x.x | 9.0.0 | 4.4.1
7.x.x, 8.x.x | 10.0.0 | 4.5.0
9.x.x | 11.0.0 | 4.5.0

When bumping ng-bootstrap major version, make sure to check all the breaking changes listed in the changelog. We try to minimize them as much as possible.

We strongly recommend using Angular CLI for setting up a new project. If you have an Angular ≥ 9 CLI project, you could simply use our schematics to add ng-bootstrap library to it.

Just run the following:

It will install ng-bootstrap for the default application specified in your `angular.json`. If you have multiple projects and you want to target a specific application, you could specify the `--project` option

#### Manual installation

If you prefer not to use schematics or want to add ng-bootstrap to an older project, you'll need to do the following:

- Add `bootstrap` and `@ng-bootstrap/ng-bootstrap` dependencies from npm
- Install the `@angular/localize` polyfill
- Add bootstrap CSS/SCSS to your project (no javascript is required)
- Import `NgbModule` or any other component module like `NgbPaginationModule` in your application

Click here to {{ instructionsCollapsed ? 'show' : 'hide' }} detailed instructions

##### Bootstrap (CSS only)

You need to add Bootstrap CSS to your application using your preferred way (see Bootstrap instructions).

For example you could install Bootstrap from npm

and add Bootstrap CSS or SCSS to your project.

In case you're using CSS, you just need to add Bootstrap styles to your `angular.json` configuration:

In case you're using SCSS, please add this to your `styles.scss` directly:

Should I add Bootstrap JavaScript files to my project?

No, adding `bootstrap.js` or `bootstrap.min.js` is not necessary.

The goal of ng-bootstrap is to completely replace JavaScript implementation for components. Nor should you include other dependencies like jQuery or popper.js. It is not necessary and might interfere with ng-bootstrap code.

##### @angular/localize polyfill

If you're using Angular ≥ 9.0.0 and ng-bootstrap ≥ 6.0.0, you also have to install the `@angular/localize` polyfill:

See more details in the official documentation.

##### ng-bootstrap

Installing the library itself from npm is simply doing

Once installed you need to import our main module and you're good to go

Instead of importing the whole library with `NgbModule`, you could only import modules with components you need, ex. pagination and alert.

The resulting bundle will be smaller in this case.

We strive to support the same browsers and versions as supported by both Bootstrap and Angular, whichever is more restrictive. Check browser support notes for Angular and Bootstrap.

Our code is automatically tested on all supported browsers.

Please, do not open issues for the general support questions as we want to keep GitHub issues for bug reports and feature requests. You've got much better chances of getting your question answered on StackOverflow where the community at large are looking at questions tagged with `ng-bootstrap`.

StackOverflow is a much better place to ask questions since:

- there are hundreds of people willing to help on StackOverflow,
- questions and answers stay available for public viewing so your question / answer might help someone else, and
- the SO voting system assures that the best answers are prominently visible.

To save your and our time we will be systematically closing all the issues that are requests for general support and redirecting people to StackOverflow.

We are always looking for the quality contributions! Please check the Contributing doc for contribution guidelines. Additionally, for local building and testing information, please see our Developer's Guide.

Please take a moment to read our Code of Conduct.