Tags & Chips
Bootstrap Tags & Chips
Note: This documentation is for an older version of Bootstrap (v.4). A
newer version is available for Bootstrap 5. We recommend migrating to the latest version of our product - Material Design for
Bootstrap 5.
Go to docs v.5
Bootstrap tags and chips categorize content with the use of text and icons. Tags and chips make it easier to browse throughout articles, comments or pages.
Their main goal is to provide your visitors with an intuitive way of getting what they want. Just consider, how convenient it is to find all the articles related to web development just by using a web development tag.
Basic example
Chips can be used to represent small blocks of information. They are most commonly used either for contacts or for tags.

<div class="chip">
<img src="https://mdbootstrap.com/img/Photos/Avatars/avatar-6.webp" alt="Contact Person"> John Doe
</div>
<div class="chip">
Tag 220
<i class="close fas fa-times"></i>
</div>
Contacts
To create a contact chip just add an img inside.

<div class="chip">
<img src="https://mdbootstrap.com/img/Photos/Avatars/avatar-6.webp" alt="Contact Person"> John Doe
</div>
Tags
To create a tag chip just add a close icon inside with the classclose
.
<div class="chip">
Tag 220
<i class="close fas fa-times"></i>
</div>
Tags with avatars MDB Pro component





.webp)
<div class="chip">
<img src="https://mdbootstrap.com/img/Photos/Avatars/avatar-6.webp" alt="Contact Person"> John Doe
</div>
<div class="chip chip-md">
<img src="https://mdbootstrap.com/img/Photos/Avatars/avatar-10.webp" alt="Contact Person"> Anna Smith
</div>
<div class="chip chip-lg">
<img src="https://mdbootstrap.com/img/Photos/Avatars/avatar-5.webp" alt="Contact Person"> Lara Lim
</div>
.chip.chip-md {
height: 42px;
line-height: 42px;
border-radius: 21px;
}
.chip.chip-md img {
height: 42px;
width: 42px;
}
.chip.chip-lg {
height: 52px;
line-height: 52px;
border-radius: 26px;
}
.chip.chip-lg img {
height: 52px;
width: 52px;
}
Tags without avatars MDB Pro component
<div class="chip pink lighten-4">
Tag 220
<i class="close fas fa-times"></i>
</div>
Colorful tags MDB Pro component
MDB has hundreds of colors to use within chips. Take a look here to know all the possibilities.
.webp)
.webp)


.webp)

.webp)
.webp)
.webp)
<div class="chip blue lighten-4">
<img src="https://mdbootstrap.com/img/Photos/Avatars/img(7).webp" alt="Contact Person"> Caroline Smith
</div>
<div class="chip chip-md cyan darken-2 white-text">
<img src="https://mdbootstrap.com/img/Photos/Avatars/img(28).webp" alt="Contact Person"> Martha Lores
</div>
<div class="chip chip-lg success-color white-text">
<img src="https://mdbootstrap.com/img/Photos/Avatars/img(21).webp" alt="Contact Person">The Sylvester
</div>
<div class="chip teal lighten-2 white-text">
Martha
<i class="close fas fa-times"></i>
</div>
<div class="chip chip-md indigo lighten-4 indigo-text">
24.08.2016
<i class="close fas fa-times"></i>
</div>
<div class="chip chip-lg aqua-gradient white-text">
Aqua color
<i class="close fas fa-times"></i>
</div>
.chip.chip-md {
height: 42px;
line-height: 42px;
border-radius: 21px;
}
.chip.chip-md img {
height: 42px;
width: 42px;
}
.chip.chip-md .close {
height: 42px;
line-height: 42px;
border-radius: 21px;
}
.chip.chip-lg {
height: 52px;
line-height: 52px;
border-radius: 26px;
}
.chip.chip-lg img {
height: 52px;
width: 52px;
}
.chip.chip-lg .close {
height: 52px;
line-height: 52px;
border-radius: 26px;
}
Javascript usage MDB Pro component
Adding tags
Type a name and press enter to add a tag. Click X to remove it.
<div class="chips chips-placeholder"></div>
$(document).ready(function() {
$('.chips-placeholder').materialChip({
placeholder: 'Enter a tag',
secondaryPlaceholder: '+Tag',
});
})
Set initial tags
<div class="chips chips-initial"></div>
$(document).ready(function() {
$('.chips-initial').materialChip({
data: [{
tag: 'Tag 1',
}, {
tag: 'Tag 2',
}, {
tag: 'Tag 3',
}],
});
})
Chip data object
var chip = {
tag: 'chip content',
image: '', //optional
id: 1, //optional
};
Tags with autocomplete MDB Pro component"
MDB Chips allows you to use autocomplete with chips and automatically saved data on change
to
selected array. You can set data easly from js file or from a server.
<div class="container my-5">
<div id="chips-autocomplete-test" class="chips chips-placeholder chips-autocomplete"></div>
</div>
<script>
let states = [
"Alabama",
"Alaska",
"Arizona",
"Arkansas",
"California",
"Colorado",
"Connecticut",
"Delaware",
"Florida",
"Georgia",
"Hawaii",
"Idaho",
"Illnois",
"Indiana",
"Iowa",
"Kansas",
"Kentucky",
"Louisiana",
"Maine",
"Maryland",
"Massachusetts",
"Michigan",
"Minnesota",
"Mississippi",
"Missouri",
"Montana",
"Nebraska",
"Nevada",
"New Hampshire",
"New Jersey",
"New Mexico",
"New York",
"North Carolina",
"North Dakota",
"Ohio",
"Oklahoma",
"Oregon",
"Pennsylvania",
"Rhode Island",
"South Carolina",
"South Dakota",
"Tennessee",
"Texas",
"Utah",
"Vermont",
"Virginia",
"Washington",
"West Virginia",
"Wisconsin",
"Wyoming"
];
$(document).ready(() => {
$('#chips-autocomplete-test').materialChip({
placeholder: 'Enter a tag',
secondaryPlaceholder: '+Tag',
dataChip: states
});
})
</script>
<script>
$.ajax({
url: 'your-path-to-file/test.json',
success: data => data
});
$(document).ready(() => {
$('#chips-autocomplete-test').materialChip({
placeholder: 'Enter a tag',
secondaryPlaceholder: '+Tag',
dataChip: x.responseJSON.states
});
})
</script>
{
"states": [
"Alabama",
"Alaska",
"Arizona",
"Arkansas",
"California",
"Colorado",
"Connecticut",
"Delaware",
"Florida",
"Georgia",
"Hawaii",
"Idaho",
"Illnois",
"Indiana",
"Iowa",
"Kansas",
"Kentucky",
"Louisiana",
"Maine",
"Maryland",
"Massachusetts",
"Michigan",
"Minnesota",
"Mississippi",
"Missouri",
"Montana",
"Nebraska",
"Nevada",
"New Hampshire",
"New Jersey",
"New Mexico",
"New York",
"North Carolina",
"North Dakota",
"Ohio",
"Oklahoma",
"Oregon",
"Pennsylvania",
"Rhode Island",
"South Carolina",
"South Dakota",
"Tennessee",
"Texas",
"Utah",
"Vermont",
"Virginia",
"Washington",
"West Virginia",
"Wisconsin",
"Wyoming"
]
}
jQuery Plugin Options
Option Name | Type | Description |
---|---|---|
data | array | Set the chip data (look at the Chip data object) |
placeholder | string | Set the first placeholder when there are no tags. |
secondaryPlaceholder | string | Set the second placeholder when adding additional tags. |
Events
Event | Description |
---|---|
chips.add | This method is triggered when a chip is added |
chips.delete | This method is triggered when a chip is deleted. |
chips.select | This method is triggered when a chip is selected |
$('.chips').on('chip.add', function(e, chip){
// you have the added chip here
});
$('.chips').on('chip.delete', function(e, chip){
// you have the deleted chip here
});
$('.chips').on('chip.select', function(e, chip){
// you have the selected chip here
});
Methods
Parameter | Description |
---|---|
data | This returns the stored data |
options | This returns the given options |
$('.chips-initial').materialChip('data');
$('.chips-initial').materialChip('options');
Getting started: download & setup
Download
All of the components and features are a part of the MDBootstrap package.
MDBootstrap (Material Design for Bootstrap) is an MIT Licensed framework - free for personal & commercial use.
It combines the esthetic of Material Design and the functionalities of the newest Bootstrap.
Click on the button below to visit the Getting Started Page, where you can download the latest MDBootstrap package.
MDBootstrap Download MDBootstrap AboutMDB Pro
Using components and features labeled as MDB Pro component requires the MDB Pro package - a powerful UI Kit containing over 10,000 components, dozens of plugins and much more cool features.
Click the button below to learn more about the MDBootstrap Pro package.
MDBootstrap ProTutorials
If you need any additional help, use our "5 min Quick Start" guide or start full Bootstrap tutorial.
5 min Quick Start Full Bootstrap TutorialCompilation & Customization
To reduce the weight of MDBootstrap package even more, you can compile your own, custom package containing only those components and features that you need.
If you need additional help with compiling your custom package, please use our Compilation & Customization tutorial.
Compilation & Customization tutorialMap of dependencies of SCSS files in MDBootstrap:
Legend:
'-->' means 'required'
All free and pro files require files from 'core' catalog
'none' means 'this component doesn't require anything except core files'
A file wrapped by `< >` means that this file make the base component prettier but it isn't necessary for the proper working
All PRO components require 'pro/_variables.scss' file
scss/
|
|-- core/
| |
| |-- bootstrap/
| | |-- _functions.scss
| | |-- _variables.scss
| |
| |-- _colors.scss
| |-- _global.scss
| |-- _helpers.scss
| |-- _masks.scss
| |-- _mixins.scss
| |-- _typography.scss
| |-- _variables.scss
| |-- _waves.scss
|
|-- free/
| |-- _animations-basic.scss --> none
| |-- _animations-extended.scss --> _animations-basic.scss
| |-- _buttons.scss --> none
| |-- _cards.scss --> none <_buttons.scss>
| |-- _dropdowns.scss --> none <_buttons.scss>
| |-- _input-group.scss --> _forms.scss, _buttons.scss, _dropdowns.scss
| |-- _navbars.scss --> none <_buttons.scss, _forms.scss, _input-group.scss>
| |-- _pagination.scss --> none
| |-- _badges.scss --> none
| |-- _modals.scss --> _buttons.scss, _forms.scss (PRO --> _tabs.scss)
| |-- _carousels.scss --> <_buttons.scss>
| |-- _forms.scss --> none
| |-- _msc.scss --> none <_buttons.scss, _forms.scss, _cards.scss>
| |-- _footers.scss none <_buttons.scss> (PRO: )
| |-- _list-group.scss --> none
| |-- _tables.scss --> none (PRO: _material-select.scss, pro/_forms.scss, _checkbox.scss, pro/_buttons.scss, pro/_cards.scss, _pagination.scss, pro/_msc.scss)
| |-- _depreciated.scss
|
|-- pro/
| |
| |-- picker/
| | |-- _default.scss --> none
| | |-- _default-time.scss --> _default.scss, free/_forms.scss, free/_buttons.scss, pro/_buttons.scss, free/_cards.scss
| | |-- _default-date.scss --> _default.scss, free/_forms.scss
| |
| |-- sections/
| | |-- _templates.scss --> _sidenav.scss
| | |-- _social.scss --> free/_cards.scss, free/ _forms.scss, free/_buttons.scss, pro/_buttons.scss,
| | |-- _team.scss --> free/_buttons.scss, pro/_buttons.scss, free/_cards.scss, pro/_cards.scss
| | |-- _testimonials.scss --> free/_carousels.scss, pro/_carousels.scss, free/_buttons.scss, pro/_buttons.scss
| | |-- _magazine.scss --> _badges.scss
| | |-- _pricing.scss --> free/_buttons.scss, pro/_buttons.scss
| | |-- _contacts.scss --> free/_forms.scss, pro/_forms.scss, free/_buttons.scss, pro/_buttons.scss
| |
| |-- _variables.scss
| |-- _buttons.scss --> free/_buttons.scss, pro/_msc.scss, _checkbox.scss, _radio.scss
| |-- _social-buttons.scss --> free/_buttons.scss, pro/_buttons.scss
| |-- _tabs.scss --> _cards.scss
| |-- _cards.scss --> free/_cards.scss <_buttons.scss, _social-buttons.scss>
| |-- _dropdowns.scss --> free/_dropdowns.scss, free/_buttons.scss
| |-- _navbars.scss --> free/_navbars.scss (PRO: )
| |-- _scrollspy.scss --> none
| |-- _lightbox.scss --> none
| |-- _chips.scss --> none
| |-- _msc.scss --> none
| |-- _forms.scss --> none
| |-- _radio.scss --> none
| |-- _checkbox.scss --> none
| |-- _material-select.scss --> none
| |-- _switch.scss --> none
| |-- _file-input.scss --> free/_forms.scss, free/_buttons.scss
| |-- _range.scss --> none
| |-- _input-group.scss --> free/_input-group.scss and the same what free input group, _checkbox.scss, _radio.scss
| |-- _autocomplete.scss --> free/_forms.scss
| |-- _accordion.scss --> pro/_animations.scss, free/_cards.scss
| |-- _parallax.scss --> none
| |-- _sidenav.scss --> free/_forms.scss, pro/_animations.scss, sections/_templates.scss
| |-- _ecommerce.scss --> free/_cards.scss, pro/_cards.scss, free/_buttons.scss, pro/_buttons.scss, pro/_msc.scss
| |-- _carousels.scss --> free/_carousels.scss, free/_cards.scss, free/_buttons.scss
| |-- _steppers.scss --> free/_buttons.scss
| |-- _blog.scss --> none
| |-- _toasts.scss --> free/_buttons.scss
| |-- _animations.scss --> none
| |-- _charts.scss --> none
| |-- _progress.scss --> none
| |-- _scrollbar.scss --> none
| |-- _skins.scss --> none
| |-- _depreciated.scss
|
`-- _custom-skin.scss
`-- _custom-styles.scss
`-- _custom-variables.scss
`-- mdb.scss
Map of dependencies of JavaScript modules in MDBootstrap:
Legend:
'-->' means 'required'
All files require jQuery and bootstrap.js
js/
├── dist/
│ ├── buttons.js
│ ├── cards.js
│ ├── character-counter.js
│ ├── chips.js
│ ├── collapsible.js --> vendor/velocity.js
│ ├── dropdown.js --> Popper.js, jquery.easing.js
│ ├── file-input.js
│ ├── forms-free.js
│ ├── material-select.js --> dropdown.js
│ ├── mdb-autocomplete.js
│ ├── preloading.js
│ ├── range-input.js --> vendor/velocity.js
│ ├── scrolling-navbar.js
│ ├── sidenav.js --> vendor/velocity.js, vendor/hammer.js, vendor/jquery.hammer.js
│ └── smooth-scroll.js
├── _intro-mdb-pro.js
├── modules.js
├── src/
│ ├── buttons.js
│ ├── cards.js
│ ├── character-counter.js
│ ├── chips.js
│ ├── collapsible.js --> vendor/velocity.js
│ ├── dropdown.js --> Popper.js, jquery.easing.js
│ ├── file-input.js
│ ├── forms-free.js
│ ├── material-select.js --> dropdown.js
│ ├── mdb-autocomplete.js
│ ├── preloading.js
│ ├── range-input.js --> vendor/velocity.js
│ ├── scrolling-navbar.js
│ ├── sidenav.js --> vendor/velocity.js, vendor/hammer.js, vendor/jquery.hammer.js
│ └── smooth-scroll.js
└── vendor/
├── addons/
│ ├── datatables.js
│ └── datatables.min.js
├── chart.js
├── enhanced-modals.js
├── hammer.js
├── jarallax.js
├── jarallax-video.js --> vendor/jarallax.js
├── jquery.easing.js
├── jquery.easypiechart.js
├── jquery.hammer.js --> vendor/hammer.js
├── jquery.sticky.js
├── lightbox.js
├── picker-date.js --> vendor/picker.js
├── picker.js
├── picker-time.js --> vendor/picker.js
├── scrollbar.js
├── scrolling-navbar.js
├── toastr.js
├── velocity.js
├── waves.js
└── wow.js
Integrations with Angular, React or Vue
Apart from the standard Bootstrap integration (using jQuery), MDBootstrap also integrates with Angular, React and Vue.
About MDB Angular About MDB React About MDB VueExclusive resources
MDBootstrap is a platform for web creators and MDB packages are only a part of it.
If you sign up you'll gain free access to other useful tools & resources including:
- Community developed components & design projects
- Technical support & community forum
- CLI interface & free project hosting
- Helpful articles & news agregators
...and much more!
Don't hesitate and sign up now!
Sign up now