Skip to content
Fast and reliable Bootstrap widgets in Angular (supports Ivy engine)
TypeScript JavaScript Other
Branch: development
Clone or download
sakkshm and Domainv Added a more descriptive slack button! (#5454)
feat(doc): add a more descriptive slack button! #5453
Latest commit a309199 Oct 21, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Switch to new GitHub multi ISSUE_TEMPLATEs (#5492) Oct 17, 2019
cypress fix(tests): stabilize e2e tests (#5512) Oct 17, 2019
demo feat(dropdown): add animation to the component (#5475) Oct 11, 2019
docs fix(doc): fix of file name mistake (#5457) Oct 14, 2019
schematics feat(build): update to latest angular (#5350) Aug 5, 2019
scripts fix(travis): fix next stage (#5419) Oct 3, 2019
src fix(datepicker): skip years reordering if minMode='year' (#5346) Oct 17, 2019
.angular-cli.json.bak fix(tests): cleanup test code (#4778) Nov 7, 2018
.editorconfig Webpack build working Aug 10, 2015
.gitignore fix(latest): config (#4716) Oct 23, 2018
.npmrc feat(build): use npm ci, it's faster then yarn (#4059) Mar 23, 2018
.prettierrc feat(package): drop support of ng v2 and add support of ng v4 and v5 (#… Sep 14, 2017
.travis.yml feat(dropdown): add animation to the component (#5475) Oct 11, 2019 5.3.0 Oct 11, 2019 chore(docs): added code of conduct May 26, 2017 fix(docs): update join slack link (#5421) Oct 4, 2019
Dockerfile feat(demo): add universal support, add dockerfile (#2925) Nov 2, 2017
LICENSE chore(lint): fixed linting issues Dec 12, 2016 Added a more descriptive slack button! (#5454) Oct 21, 2019
angular.json feat(doc): enable ivy (#5285) Jun 27, 2019
cypress.json fix(cypress): fix page load time error (#5353) Aug 6, 2019
karma-demo.conf.js fix(tests): fix for saucelab unit tests (#5263) Jun 12, 2019
karma.conf.js feat(chronos): bs-moment renamed to chronos and all locales was suffi… Jan 15, 2018
mocha.opts feat(chronos): bs-moment renamed to chronos and all locales was suffi… Jan 15, 2018
package-lock.json 5.3.0 Oct 11, 2019
package.json chore(changelog): update [skip ci] Oct 11, 2019
tsconfig.json feat(build): express to nestjs in ssr (#5152) Apr 7, 2019
tslint.json fix(tslint): fix tslint errors (#4770) Nov 15, 2018
typedoc.js feat(demo): new build process with ng2-webpack-config Jun 24, 2016
wallaby.js feat(build): added config file for wallabyjs Oct 4, 2016


Best way to quickly integrate Bootstrap 3 or Bootstrap 4 Components with Angular

npm version npm downloads


Table of contents

  1. Getting Started
  2. Supporting
  3. Installation instructions
  4. Usage & Demo
  5. API
  6. Compatibility
  7. Troubleshooting
  8. Contributing

Getting Started

ngx-bootstrap contains all core (and not only) Bootstrap components powered by Angular. So you don't need to include original JS components, but we are using markup and CSS provided by Bootstrap.

Supporting NGX-Bootstrap

ngx-bootstrap is an Open Source (MIT Licensed) project, it's an independent project with ongoing development made possible thanks to the support of our awesome backers. If you also would like to show support or simply give back to Open Source community, please consider becoming a backer sponsor of ngx-bootstrap on OpenCollective

All donated funds are managed transparently on OpenCollective and will be used solely for compensating work and expenses for contributors. Valor Software employees and contractors are not eligible to use these funds.

What's there for you? Proper recognition and exposure of your name/logo/website on our page. Our main sponsors will be presented under this section! Be the first!

Installation instructions

Method 1

Install ngx-bootstrap from npm:

npm install ngx-bootstrap --save

Add needed package to NgModule imports:

import { TooltipModule } from 'ngx-bootstrap/tooltip';

  imports: [TooltipModule.forRoot(),...]

Add component to your page:

<button type="button" class="btn btn-primary"
        tooltip="Vivamus sagittis lacus vel augue laoreet rutrum faucibus.">
  Simple demo

You will need bootstrap styles:

  • Bootstrap 3
<!-- index.html -->
<link href="" rel="stylesheet">
  • Bootstrap 4
<!--- index.html -->
<link href="" rel="stylesheet">
Method 2

Use the Angular CLI ng add command for updating your Angular project

ng add ngx-bootstrap

Or use ng add to add needed component (for example tooltip)

ng add ngx-bootstrap --component tooltip

Add component to your page:

<button type="button" class="btn btn-primary"
        tooltip="Vivamus sagittis lacus vel augue laoreet rutrum faucibus.">
  Simple demo

Setting up the bootstrap version manually

Sometimes, your project might contain some library that could interfere with the bootstrap framework, or you might have a customized version of bootstrap. The consequence is that the process of determining bootstrap version might be failed, which can break the UI. In that case, we can still set the bootstrap version manually in the bootstrapping component (i.e. AppComponent):

import { setTheme } from 'ngx-bootstrap/utils';

export class AppComponent {
  constructor() {
    setTheme('bs3'); // or 'bs4'

Usage & Demo

Main source of API documentation and usage scenarios available here:

Additionally you can find demos and docs deployed from latest code with angular@latest and angular@next

Server side rendered version of this documentation available here served with Angular universal and nest.js


Check demo page for API reference

How to use it with:

How to build lib for development

First time:

  • clone repository
  • npm install
  • npm run build

To update your fork and prepare it for local usage:

  • git pull upstream development
  • rm -rf node_modules
  • npm install
  • npm run build

To run the demo:

  • npm run demo.serve // to serve local demo. This is for testing only, without watchers.

For local development run:

  • npm run // in first terminal
  • ng serve // in second

If you want to run the demo with Angular Universal:

  • npm run demo.serve-universal


The only two dependencies are Angular and Bootstrap CSS. Here is the versions compatibility list:

ngx-bootstrap Angular Bootstrap CSS
5.x.x 7.x.x - 8.x.x 3.x.x or 4.x.x
4.x.x 6.x.x - 7.x.x 3.x.x or 4.x.x
3.x.x 6.x.x - 7.x.x 3.x.x or 4.x.x
2.x.x 2.x.x - 4.x.x 3.x.x or 4.x.x
1.x.x 2.x.x 3.x.x or 4.x.x


So if you are in trouble, here's where you can look for help.

The best place to ask questions is on StackOverflow (under the ngx-bootstrap tag) You can also join our Slack channel and link your stackoverflow question there. But try to avoid asking generic help questions directly on Slack since they can easily get lost in the chat. You can also search among the existing GitHub issues.

If, and only if, none of the above helped, please open a new issue.


All contributions very welcome! And remember, contribution is not only PRs and code, but any help with docs or helping other developers to solve issues are very appreciated! Thanks in advance!

Please read our contribution guidelines.

If you need more modules, check here

Please read central ngx modules readme for details, plans and approach


Crossbrowser testing sponsored by Saucelabs Saucelabs

End-to-end testing sponsored by Cypress Cypress



You can’t perform that action at this time.