Bootstrap table (currently v1.11.1) has a few easy ways to quickly get started, each one appealing to a different skill level and use case. Read through to see what suits your particular needs.

Source code

Source css, JavaScript, locales, and extensions, along with our docs.

Download source

Clone or fork via GitHub

Via GitHub


The folks over at CDNJS and bootcss graciously provide CDN support for CSS and JavaScript of Bootstrap table. Just use these CDN links.

<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="//">

<!-- Latest compiled and minified JavaScript -->
<script src="//"></script>

<!-- Latest compiled and minified Locales -->
<script src="//"></script>


Install and manage Bootstrap table's CSS, JavaScript, locales, and extensions using Bower.

$ bower install bootstrap-table

What's included

The Bootstrap table source code download includes the precompiled CSS, JavaScript, locales, extensions, and provides both compiled and minified variations, along with documentation. More specifically, it includes the following and more:

├── dist/
│   ├── extensions/
│   ├── locale/
│   ├── bootstrap-table.min.css
│   └── bootstrap-table.min.js
├── docs/
└── src/
    ├── extensions/
    ├── locale/
    ├── bootstrap-table.css
    └── bootstrap-table.js

The src/, locale/, and extensions/ are the source code for our CSS, JS. The dist/ folder includes everything compiled and minified with src/. The docs/ folder includes the source code for our documentation. Beyond that, any other included file provides support for packages, license information, and development.

Compiling CSS and JavaScript

Bootstrap table uses Grunt for its build system, with convenient methods for working with the framework. It's how we compile our code, run tests, and more.

Installing Grunt

To install Grunt, you must first download and install node.js (which includes npm). npm stands for node packaged modules and is a way to manage development dependencies through node.js.

Then, from the command line:

  1. Install grunt-cli globally with npm install -g grunt-cli.
  2. Navigate to the root /bootstrap-table/ directory, then run npm install. npm will look at the package.json file and automatically install the necessary local dependencies listed there.

When completed, you'll be able to run the various Grunt commands provided from the command line.

Available Grunt commands

grunt dist (Just compile CSS and JavaScript)

Regenerates the /dist/ directory with compiled and minified CSS and JavaScript files. As a Bootstrap user, this is normally the command you want.

grunt test (Run tests)

Runs JSHint to test our code.

grunt docs (Build & test the docs assets)

Builds and tests CSS, JavaScript, and other assets which are used when running the documentation locally via jekyll serve.

grunt (Build absolutely everything and run tests)

Compiles and minifies CSS and JavaScript, builds the documentation website, runs the HTML5 validator against the docs, regenerates the Customizer assets, and more. Requires Jekyll.


Should you encounter problems with installing dependencies or running Grunt commands, first delete the /node_modules/ directory generated by npm. Then, rerun npm install.


Include Bootstrap library (if your project doesn't use it already) and bootstrap-table.css in the head tag your html document.

<link rel="stylesheet" href="bootstrap.min.css">
<link rel="stylesheet" href="bootstrap-table.css">

Include jQuery library, bootstrap library (if your project doesn't use it already) and bootstrap-table.js in the head tag or at the very bottom of your document, just before the closing body tag (usually recommended for better performance).

<script src="jquery.min.js"></script>
<script src="bootstrap.min.js"></script>
<script src="bootstrap-table.js"></script>
<-- put your locale files after bootstrap-table.js -->
<script src="bootstrap-table-zh-CN.js"></script>

The Bootstrap Table plugin displays data in a tabular format, via data attributes or JavaScript.

Via data attributes

Activate bootstrap table without writing JavaScript. Set data-toggle="table" on a normal table.

<table data-toggle="table">
            <th>Item ID</th>
            <th>Item Name</th>
            <th>Item Price</th>
            <td>Item 1</td>
            <td>Item 2</td>

We can also use remote url data by setting data-url="data1.json" on a normal table.

<table data-toggle="table" data-url="data1.json">
            <th data-field="id">Item ID</th>
            <th data-field="name">Item Name</th>
            <th data-field="price">Item Price</th>

Via JavaScript

Call a bootstrap table with id table with JavaScript.

<table id="table"></table>
    columns: [{
        field: 'id',
        title: 'Item ID'
    }, {
        field: 'name',
        title: 'Item Name'
    }, {
        field: 'price',
        title: 'Item Price'
    data: [{
        id: 1,
        name: 'Item 1',
        price: '$1'
    }, {
        id: 2,
        name: 'Item 2',
        price: '$2'

We can also use remote url data by setting url: 'data1.json'.

    url: 'data1.json',
    columns: [{
        field: 'id',
        title: 'Item ID'
    }, {
        field: 'name',
        title: 'Item Name'
    }, {
        field: 'price',
        title: 'Item Price'
    }, ]