gentelella Documentation

Free Bootstrap 5 Admin Dashboard Template

RAW Doc

File: README.md

Gentelella v4 โ€” Free Admin Dashboard Template








Gentelella v4 is a free, open-source admin dashboard template built with vanilla JavaScript, SCSS, and Vite 8. No Bootstrap. No jQuery. No SPA framework. A modern alternative to Bootstrap admin templates for SaaS dashboards, CRM systems, internal tools, e-commerce backends, and project management apps.

58 production-ready HTML pages, 20 ECharts chart variants, fully interactive inbox / kanban / calendar / file manager / settings, a live theme generator, a component playground, a โŒ˜K command palette, dark mode, and PWA support. MIT-licensed. Free for personal and commercial use.

Built for 2026 by Colorlib. Live demo โ†’

Generate your own screenshots โ€” npm run build && npm run screenshots boots Playwright and captures 22 key pages ร— light + dark = 44 PNGs to docs/screenshots/, plus downscaled WebP hero shots for this README (needs cwebp โ€” brew install webp).


Why Gentelella v4

The original Gentelella has been a free Bootstrap admin template since 2014 โ€” 3M+ downloads, 4.5k+ GitHub stars. v4 is a ground-up redesign:

  • No Bootstrap, no jQuery โ€” vanilla JavaScript + SCSS. ~178 MB node_modules (down from ~600 MB on v2).
  • Vite 8 build system โ€” instant HMR, multi-page app with auto-discovered entry points, hashed assets.
  • Light + dark mode with prefers-color-scheme detection and pre-paint script (no flash of incorrect theme).
  • PWA-ready โ€” installable on desktop and mobile, offline shell, service worker.
  • AI-assisted development โ€” ships with helper files for Claude Code, Cursor, GitHub Copilot, and any agents.md-compatible tool.

Perfect for: SaaS dashboards, CRM, ERP, internal admin panels, project management tools, e-commerce backends, analytics dashboards, HR/payroll, booking systems, content management.

Features

  • ๐ŸŽจ Live theme generator โ€” pick a primary color, watch every chart, button, badge, and link restyle in real time. Copy or download the generated SCSS tokens. Demo: theme.html
  • ๐Ÿงช Component playground โ€” every reusable component on one page, side-by-side with its exact HTML and a Copy button. Demo: playground.html
  • โŒ˜K command palette โ€” fuzzy search across all 58 pages and inline actions
  • ๐Ÿ“ฌ Real inbox client โ€” folders, reader pane, compose modal, reply/forward, J/K/R/S/# keyboard shortcuts, search across the active folder
  • ๐Ÿ“ฑ PWA โ€” installable on macOS / Windows / iOS / Android, offline shell, service worker
  • โ†”๏ธ Sidebar rail mode โ€” desktop hamburger collapses sidebar to icon-only with hover tooltips and click-to-flyout submenus
  • ๐ŸŒ— Dark mode โ€” prefers-color-scheme aware, pre-paint script prevents flash, manual toggle persists in localStorage
  • โ™ฟ Accessibility โ€” skip-link, keyboard focus rings, ARIA labels on interactive controls, semantic landmarks, screen-reader-friendly DataTables

What you get

Surface What's in it
Dashboards 4 variants โ€” operations, analytics (heatmap, funnel, cohort matrix), sales (gauge, radar, pipeline), system health (resource bars, deployment list, error log)
Auth Sign-in ยท social (Google, GitHub) ยท register ยท forgot password ยท 2FA ยท lock screen ยท 403 / 404 / 500
Forms General form ยท advanced controls ยท 6-step wizard ยท drag-and-drop upload ยท validation ยท date-range picker ยท multi-select ยท rich text editor
Tables DataTables โ€” sort, search, paginate, row selection, CSV export ยท 23-row + 50-row demos
Charts 20 ECharts variants โ€” line, area, stacked area, bar, horizontal bar, mixed bar/line, donut, pie, radar, gauge, scatter, heatmap, funnel, candlestick, polar bar, treemap, sankey, calendar heatmap, gantt + dashboard mini-line
App pages Calendar (full CRUD) ยท inbox (folders, compose, reader) ยท chat (8 threads) ยท kanban (drag-drop) ยท file manager (tree + grid) ยท notifications ยท invoice (editable line items) ยท profile ยท settings (persisted) ยท FAQ
E-commerce Storefront ยท product detail ยท order list ยท order detail ยท pricing tiers
Admin Contacts ยท user management (search, filters, role editor) ยท maintenance ยท coming-soon
UI library Component playground ยท theme generator ยท 120+ icons in 14 categories ยท typography ยท 18 widget variants ยท media gallery ยท general elements (banners, accordion, drawer, popover, timeline)
Map Leaflet customer map
Marketing Landing page with hero, stats band, features, showcase, testimonials, FAQ
Layouts Fixed sidebar / fixed footer / nested page / blank starter

Plus: 10 SCSS partials ยท build-time + runtime shell (no FOUC) ยท data-page attribute auto-highlights nav ยท mobile drawer + desktop rail mode ยท light/dark with prefers-color-scheme + pre-paint ยท cross-document view transitions ยท skip-to-content ยท keyboard focus-visible ยท accordion sidebar with sessionStorage memory ยท localStorage-persisted settings ยท per-page <meta description>, Open Graph, and Twitter Card tags auto-injected at build time.

Upgrade to a Premium Dashboard

Need advanced features, dedicated support, and production-ready code? Explore our handpicked collection of professional admin templates on DashboardPack.

| Apex Dashboard

text
Next.js 16 + React 19 + Tailwind CSS v4 + shadcn/ui. 5 dashboard variants, 20+ app pages, 125+ routes, full CRUD. | [**Zenith Dashboard**](https://dashboardpack.com/theme-details/zenith-shadcn/?utm_source=github&utm_medium=readme&utm_campaign=gentelella)
  
  Next.js 16 + React 19 + Tailwind CSS v4 + shadcn/ui. Achromatic design, 50+ pages, 6 dashboards, live theme customizer. |

| --- | --- |
| Haze

text
Nuxt 4 + Nuxt UI v4 + Tailwind CSS v4. 92+ pages, 7 layouts, 5 dashboards, RTL, i18n, mock API layer. | [**TailPanel**](https://dashboardpack.com/theme-details/tailpanel/?utm_source=github&utm_medium=readme&utm_campaign=gentelella)
  
  React + TypeScript + Tailwind CSS + Vite. 9 dashboard designs, dark and light themes. |

| Admindek

text
Bootstrap 5 + vanilla JS. 100+ components, dark/light modes, RTL support, 10 color presets. | [**SvelteForge Premium**](https://dashboardpack.com/theme-details/svelteforge-premium/?utm_source=github&utm_medium=readme&utm_campaign=gentelella)
  
  SvelteKit + Tailwind CSS v4. 30+ wired-up modules, multi-tenant from row zero, dark/light/system mode. |

Tech stack

  • Vite 8 with Rolldown โ€” multi-page app, 58 auto-discovered entry points
  • SCSS with @use modules โ€” no Bootstrap, no framework
  • Vanilla ES2022 โ€” no jQuery, no SPA framework, no build-time JSX
  • Apache ECharts 6 โ€” lazy-imported, modular (only chart types actually used)
  • DataTables.net 3 core โ€” re-skinned from scratch to match the design system
  • Leaflet 1.9 โ€” lazy-imported on the map page only
  • Inter font from Google Fonts
  • Playwright (devDep) โ€” for the screenshot pipeline and smoke tests

3 production deps, 10 dev deps, ~178 MB node_modules (was ~600 MB on the old Gentelella).

Documentation

Full docs live at https://gentelella.colorlib.com/docs/ โ€” covering every part of v4:

Topic Doc
Setup, build, deploy getting-started
Directory layout project-structure
Shell injection + lazy modules architecture
Tokens, dark mode, theme generator theming
Adding pages + sidebar entries adding-pages
Component playground playground
ECharts factories echarts
DataTables, row selection, CSV tables
Inputs, validation, custom controls forms
showModal, showToast, openMenu overlays
โŒ˜K command palette
Inbox client inbox
Kanban board kanban
Vite multi-page setup vite-build
Service worker, manifest, offline pwa
Hosts, subpath, cache headers deployment
IntelliSense via .d.ts typescript
Seed vs HTTP backend (?api=1) data-adapter
Coming from old Gentelella migration-v2
Common questions FAQ

Quick start

bash
git clone https://github.com/ColorlibHQ/gentelella.git
cd gentelella
npm install
npm run dev

Open http://localhost:9173/production/index.html. The dev server hot-reloads SCSS, JS, and HTML. Override the port with PORT=4000 npm run dev.

Production build

bash
npm run build

Outputs static HTML + hashed JS/CSS to dist/. Deploy the dist/ folder to any static host (Netlify, Vercel, Cloudflare Pages, S3, GitHub Pages).

To deploy under a subpath (e.g. https://example.com/admin/):

bash
BASE_PATH=/admin/ npm run build

npm package

The package is consumable as an npm dependency for granular imports:

bash
npm install gentelella
js
import { mountShell, showModal, showToast } from 'gentelella';
import 'gentelella/scss/v4/main.scss';

Subpath exports: gentelella/v4/* (JS modules), gentelella/scss/* (styles), gentelella/types (TypeScript declarations).

CDN (jsDelivr)

The package ships the pre-built dist/ and the unbundled src/, so every file is reachable via jsDelivr without a bundler. Useful for prototyping, design-system inspection, or pulling individual ES modules:

html
<script type="module">
  import { showModal } from 'https://cdn.jsdelivr.net/npm/gentelella@4/src/v4/modal.js';
  import { showToast } from 'https://cdn.jsdelivr.net/npm/gentelella@4/src/v4/toast.js';
  showToast('Hello from CDN', { variant: 'success' });
</script>

Browse the 58 built demo pages straight from CDN โ€” every reference page renders with all assets resolved:

text
https://cdn.jsdelivr.net/npm/gentelella@4/dist/production/index.html
https://cdn.jsdelivr.net/npm/gentelella@4/dist/production/inbox.html
https://cdn.jsdelivr.net/npm/gentelella@4/dist/production/kanban.html
โ€ฆ

Heads-up on hashing. Vite emits content-hashed asset filenames in dist/assets/ and dist/js/ (main-v4-DDS6x4g-.css etc.), so direct CDN URLs for those chunks change on every release. The main src/main-v4.js entry also imports SCSS source, so it isn't browser-loadable โ€” use it through your bundler. For an AdminLTE-style single-file <script src> drop-in with a stable URL, use the npm package with your own bundler instead. Gentelella v4's CDN strength is browsing the demo HTML pages and importing individual src/v4/* ES-module helpers.

Scripts

text
npm run dev              Start Vite dev server (port 9173)
npm run build            Production build to dist/
npm run build:dev        Non-minified build (debugging)
npm run preview          Serve dist/ to preview the production build (port 9174)
npm run analyze          Build + open the bundle treemap
npm run new -- <slug>    Scaffold a new page (see `--help` for flags)
npm run screenshots      Boot Playwright + capture 44 PNGs to docs/screenshots/
npm run smoke            Boot dev server, hit every page, assert HTTP 200
npm run deploy:preview   Build + sync to R2 with per-file cache headers
npm run lint             ESLint across src/
npm run format           Prettier write across src/

AI-assisted development

Gentelella v4 ships with helper files for the major AI coding tools โ€” drop the repo open in any of them and the assistant gets immediate, accurate context about the architecture, conventions, and recipes:

Tool File
Claude Code CLAUDE.md
Cursor .cursor/rules/project.mdc
GitHub Copilot .github/copilot-instructions.md
Aider, Cline, Codex, Continue (and other agents.md tools) AGENTS.md

Each file documents the hard rules (vanilla DOM only, single entry point, shell opt-in via body attributes, NAV as one constant, overlay helpers, CSS custom properties for colors, subpath-safe URLs), anti-patterns to avoid, and copy-pasteable recipes for adding pages, charts, modals, and toasts.

Project layout

text
/* Detailed source-code truncated for AI context efficiency. */

Customization

Design tokens

Every color, radius, sidebar dimension, and font setting lives as a CSS custom property in src/scss/v4/_tokens.scss. Edit :root, save, the Vite dev server reloads.

Want a different brand color? Change --primary and --primary-dk. Every chart, every button, every active nav item updates โ€” ECharts reads these variables at chart-init time.

Adding a page

The fast way:

sh
npm run new -- reports --title "Reports" --pretitle "Admin" \
  --breadcrumb "Home > User management|user_management.html > Reports" \
  --nav-group "Admin" --icon "profile"

This creates production/reports.html with the standard skeleton and (with --nav-group) inserts a sidebar entry into the NAV array of src/v4/shell-render.js. Vite auto-discovers the new entry โ€” no config change needed. Run npm run new -- --help for all options, or use --dry-run to preview without writing.

The manual way:

  1. Copy any existing page in production/ (e.g. profile.html) as your starting point.
  2. Update the <title>, data-page, and data-breadcrumb attributes. Breadcrumb segments become links automatically when their text matches a sidebar entry (Forms โ†’ form.html); point one anywhere else with a pipe, e.g. data-breadcrumb="Home > Projects|projects.html > Acme Redesign". The final segment is the current page and is never a link.
  3. Replace the <main> content with your markup using the v4 components.
  4. Optionally add a new sidebar item by editing the NAV array in src/v4/shell-render.js.

The shell auto-marks the matching nav item active based on data-page.

Adding a chart

Add a factory function to src/v4/charts.js following the revenueLine / salesBar pattern, register it in the charts map, then drop a `` into any page. Colors come from the design tokens automatically.

Adding a sortable table

Mark up a regular with and . The init runs automatically. Use to disable sorting on a column, and data-page-length="25" on the table to change the page size.

The sidebar is rendered from a single source โ€” the NAV array in src/v4/shell-render.js. Edit there, every page updates.

TypeScript / IntelliSense

Type declarations for the public JS surface ship in types/gentelella.d.ts and are wired up via the types field in package.json. VS Code resolves IntelliSense automatically โ€” no tsconfig required, no rewrite. Covers mountShell, showModal, showToast, openMenu, seedAdapter/httpAdapter, chart/table init, and the NAV schema.

Markup helpers

For pages that build content from data (orders rows, inbox threads, kanban cards), src/v4/markup.js exposes pure string-returning helpers โ€” statTile(), statusBadge(), customerCell(), activityItem(), visitorRow(), emptyState(), banner(), skeletonRows(), plus escapeHtml(). Live examples on the Playground. Static pages keep their hand-written HTML โ€” these are for JS-driven content where the boilerplate adds up.

SEO and metadata

Every page is built with SEO in mind:

  • Semantic HTML5 โ€” <main>, <nav>, <aside>, <header>, semantic <h1> page titles
  • Per-page <meta description> auto-derived from the breadcrumb
  • Open Graph + Twitter Card tags injected at build time
  • PWA manifest + theme-color (light + dark variants)
  • Pre-paint theme script โ€” eliminates flash of incorrect theme on load
  • Skip-to-content link + ARIA landmarks for screen reader navigation
  • Cache-Control-aware deploy (scripts/deploy-preview.sh) โ€” long-cache for hashed assets, short-cache for HTML, no-cache for service worker

Deployment

Static template โ€” deploy dist/ anywhere that serves files.

Host Notes
Netlify / Vercel / Cloudflare Pages Drop in, no config needed. Set BASE_PATH=/ (default).
GitHub Pages BASE_PATH=/your-repo/ npm run build, push dist/ to gh-pages.
S3 / CloudFront Upload dist/. Set the bucket as a static site, point CloudFront at it.
Any nginx / Apache cp -r dist/* /var/www/html/.
Cloudflare R2 Use the built-in npm run deploy:preview for per-file cache headers.

No backend. No environment variables required (other than BASE_PATH if you're deploying under a subpath).

What's intentionally NOT included

  • No backend. Forms post to # and don't persist. The dashboard is a UI template โ€” wire up your own API.
  • No auth. The login form is a redirect; there's no session, no token, no validation.
  • No real-time. No WebSockets, no SSE, no polling. Activity feeds and stats are static.
  • No state management. Toggles and todo checkboxes flip via direct DOM mutation.
  • No formal accessibility audit. Skip-link, focus rings, ARIA labels and landmarks are wired, but no systematic screen-reader testing has been done. PRs welcome.

Roadmap

Shipped in 4.0.0 โ€” full list in changelog.md. Still planned:

  • Image optimization โ€” compress public/images/*.jpg and ship AVIF + JPG fallback
  • Lighthouse audit + tuning to 95+ Performance / 100 A11y / 100 SEO / 100 PWA
  • JSON-LD structured data on landing + marketing pages
  • sitemap.xml generator (auto-built from production/*.html)
  • Per-page chart-type tree-shaking to slim the ECharts vendor chunk
  • RTL support (logical-properties pass)
  • i18n extraction pattern

Want any of these prioritized? Open an issue.

License

MIT โ€” free for personal and commercial use. See LICENSE.txt.

Credit

Gentelella has been a free Bootstrap admin template since 2014, originally by Aigars Silkalns at Colorlib. v4 is a ground-up redesign for 2026 โ€” Bootstrap and jQuery are gone, replaced by a self-contained design system.

If Gentelella v4 saves you time, consider starring the repo on GitHub โ€” it helps other developers find the project.


File: docs/components.md

Components

This page has moved to https://gentelella.colorlib.com/docs/playground/.

Gentelella v4 documentation is now maintained at https://gentelella.colorlib.com/docs/ as the single source of truth.