Migrate from Bootstrap to boodoo
Upgrading from Bootstrap to boodoo is fast and painless. Because boodoo preserves standard grid and component semantics while adding modern utility classes and 0-dependency JS, most templates work with minimal adjustments.
Curious about how they compare first?
Review our deep dive on architectural differences, runtime sizes, and features.
Step 1: Replace Stylesheet & Script Imports
Swap the Bootstrap CSS and JS tags with boodoo's CDN links or npm imports:
<!-- Before: Bootstrap 5 -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
<!-- After: boodoo (No Popper.js needed, pure zero-dependency vanilla JS) -->
<link href="https://cdn.dihadiwala.com/s/app_299a167f351ab3de/2026/09/boodoo.min-f5986ea1.css" rel="stylesheet">
<script src="https://cdn.dihadiwala.com/s/app_299a167f351ab3de/2026/09/boodoo-22f6ff5d.js"></script>
Step 2: Component & Class Name Mapping
Almost all core classes work identically in boodoo:
| Bootstrap Class | boodoo Equivalent | Notes |
|---|---|---|
.container, .row, .col-* |
.container, .row, .col-* |
Identical 12-column mobile-first grid system |
.btn, .btn-primary, .btn-outline-* |
.btn, .btn-primary, .btn-outline-* |
Enhance anytime with .ripple or .elevation-2 |
.card, .card-body, .card-header |
.card, .card-body, .card-header |
Supports .card-hover and subtle elevation borders |
.badge, .badge-primary / .bg-primary |
.badge, .bg-primary, .badge-soft-primary |
Includes pastel soft-variant badges out of the box |
.modal, .modal-dialog, .modal-content |
.modal, .modal-dialog, .modal-content |
Zero changes needed; HTML5 dialog compliant |
.dropdown, .dropdown-menu, .dropdown-item |
.dropdown, .dropdown-menu, .dropdown-item |
No external Popper.js required for positioning |
Step 3: Data Attribute JS API
If you use declarative toggles, boodoo supports both standard data-boodoo-* and standard data-bs-* attributes:
<!-- Dropdown toggle in boodoo -->
<button type="button" class="btn btn-primary" data-boodoo-toggle="dropdown">
<span>Options</span>
</button>
<!-- Modal trigger in boodoo -->
<button type="button" class="btn btn-primary" data-boodoo-toggle="modal" data-boodoo-target="#myModal">
<span>Launch Modal</span>
</button>
Step 4: Unlock Modern boodoo Superpowers
Once migrated, you can immediately begin utilizing features Bootstrap doesn't provide natively:
- 150+ Functional Utility Classes: Precise gap, positioning, sizing, and typography utilities inspired by Tailwind.
- Material Elevation & Motion: Add tactile depth with
.elevation-1through.elevation-5and keyframe animations like.anim-pulse. - Next-Gen Native UI: Draggable desktop titlebars (
-webkit-app-region: drag) and Photon layout panes for Electron / Tauri.