AdminLTE 4 for Laravel

June 26, 2026 Β· View on GitHub

Latest Version License

Official AdminLTE 4 integration for Laravel β€” Bootstrap 5.3, vanilla JS (no jQuery), Vite-ready.

AdminLTE 4 for Laravel β€” dashboard, light theme AdminLTE 4 for Laravel β€” dashboard, dark theme

πŸ”— Live demo β†’ Β Β·Β  Get started β†’

This package gives you a config-driven sidebar menu, ready-to-extend Blade layouts, and a set of AdminLTE Blade components on top of the admin-lte npm package.

Also available for your stack

The same AdminLTE 4 dashboard, in the framework you know best β€” you're looking at the Laravel edition:

React Next.js Vue Nuxt Laravel β€” you are here Django Symfony Angular ASP.NET

Frameworks: React Β· Next.js Β· Vue Β· Nuxt Β· Laravel (you are here) Β· Django Β· Symfony Β· Angular Β· ASP.NET

Also available as the original AdminLTE (HTML Β· Bootstrap 5.3 Β· vanilla JS β€” demo) and the legacy AdminLTE v3 (Bootstrap 4 Β· jQuery β€” demo). Need a full backend, not just markup? See the premium Laravel dashboards below.

What's included:

  • 40 Blade components (cards, widgets, forms, charts, calendars, kanban boards, modals)
    • Widget components: Card, Small Box, Info Box, Alert, Callout, Progress, Timeline, Ratings, Direct Chat, Toast, Tabs, Accordion, Breadcrumb, and more
    • Form components: Input, Select, Textarea, Switches, Color pickers, Flatpickr, Tom Select
    • Tool components: Modals, Datatables, Rich editor, Charts (ApexCharts), Vector Map, Calendar, Kanban, Wizard
  • Multi-language support (i18n) with 9 complete locales: English, German, Spanish, French, Italian, Portuguese, Russian, Chinese, Japanese β€” every key translated in every locale, no English fallbacks
  • Plugin system for lazy-loading JS libraries (Flatpickr, Tom Select, Tabulator, Quill, ApexCharts, jsVectorMap, FullCalendar, SortableJS)
  • Scaffolding system (adminlte:scaffold) with full DB backing for 18 sections: dashboard, mailbox, chat, kanban, calendar, projects, file-manager, profile, settings, invoice, pricing, faq, notifications, api, impersonation, activity-log, realtime, rbac β€” each DB-backed section also generates factories, Form Requests, Policies, and feature tests
  • Authorization (RBAC) β€” dependency-free roles & permissions, HasRoles trait, role/permission middleware, permission-aware Gate, and a Users/Roles management UI (docs)
  • Auth scaffolding (adminlte:make-auth) for plain/Breeze/Fortify integration, with hardening: login throttling, email verification, password confirmation
  • Account management β€” avatar, change password, active sessions, delete account (docs)
  • Database notifications wired into the navbar bell + a notifications page (docs)
  • Activity/audit log with automatic auth-event logging + user impersonation ("log in as") (docs)
  • Data-driven dashboard, Sanctum API tokens, and a real-time (Reverb/Echo) layer for live chat & notifications
  • ⌘K command palette β€” searches your menu, opens via the navbar pill or Cmd/Ctrl+K
  • Bundled demo/showcase pages β€” Dashboard v1/v2/v3, Widgets, UI Elements, Forms, Tables, Layout Options, Theme Generator (toggle with config('adminlte.demo'))
  • RTL layout support + 9 locales
  • Accessibility built in β€” ARIA-labelled controls, screen-reader-tracked submenu state, error messages linked to their form fields, an accessible command palette (combobox/listbox)
  • Config-driven sidebar menu with permissions, active states, badges β€” plus runtime additions via addAfter()/add()
  • Auth views (login, register, login-v2, register-v2, lockscreen, forgot password, reset password)
  • Error pages (404, 500, maintenance)
  • Vite-first asset pipeline

Screenshots

Every screenshot is a real page from the running Laravel app β€” browse the live demo β†’

Dashboard v2 Dashboard v3 Widgets β€” small boxes, info boxes, cards

Form elements Data tables Kanban board (drag-and-drop)

Event calendar (FullCalendar) Chat Mailbox

User profile Invoice Theme generator

Documentation

Full docs live in the docs/ directory β€” and are also served inside your app at /docs (rendered with the AdminLTE layout; disable with 'docs' => false):

GuideWhat it covers
InstallationRequirements, install, Vite wiring, first page
ConfigurationEvery config/adminlte.php key
Layoutadminlte::page, navbar, sidebar, footer, ⌘K search, color mode, RTL
MenuSidebar/navbar menu, treeview, badges, permissions, filters
ComponentsAll 40 Blade components β€” props, slots, examples
PluginsLazy-loaded JS libraries and the plugin manager
Scaffoldingadminlte:scaffold β€” DB-backed sections + factories/requests/policies/tests
DashboardData-driven dashboard with real stats
Authenticationadminlte:make-auth β€” plain / Breeze / Fortify + hardening
AuthorizationDependency-free RBAC: roles, permissions, middleware, Gate
Account managementAvatar, password, sessions, delete account
NotificationsDatabase notifications + navbar bell
Activity log & impersonationAudit log, auth-event logging, "log in as"
API tokensSanctum personal access tokens + UI
Real-timeReverb/Echo live chat & notifications
CommandsAll Artisan commands and options
TranslationsThe 9 locales and key resolution
Demo pagesThe bundled showcase routes
DeploymentHosting a live preview (Nginx + PHP-FPM)

The legacy jeroennoten/laravel-adminlte targets AdminLTE 3 (Bootstrap 4 + jQuery). This package is the AdminLTE 4 successor: Bootstrap 5.3, vanilla JS, Laravel 13, PHP 8.3+, Vite instead of precompiled assets.

Requirements

  • PHP 8.3+
  • Laravel 13
  • Node.js 18+ (for the Vite asset pipeline)

Installation

composer require colorlibhq/adminlte-laravel
php artisan adminlte:install

adminlte:install publishes config/adminlte.php, drops the Vite entry stubs into resources/js/adminlte.js and resources/css/adminlte.css, and offers to npm install the frontend dependencies, pinned to the tested major versions (admin-lte@^4.0, bootstrap@^5.3, @popperjs/core@^2.11, overlayscrollbars@^2.0, bootstrap-icons@^1.13, apexcharts@^5.0, jsvectormap@^1.7, fullcalendar@^6.1, sortablejs@^1.15, sass@^1.77). Optional plugins (Flatpickr, Tom Select, Tabulator, Quill) are listed separately β€” install them only if you enable them (docs).

Add the two entry files to your vite.config.js:

laravel({
    input: [
        'resources/css/adminlte.css',
        'resources/js/adminlte.js',
    ],
    refresh: true,
}),

Then build:

npm run dev   # or: npm run build

Check your install at any time:

php artisan adminlte:status

Usage

A page

@extends('adminlte::page')

@section('title', 'Dashboard')

@section('content_header')
    <div class="row">
        <div class="col-sm-6"><h3 class="mb-0">Dashboard</h3></div>
    </div>
@stop

@section('content')
    <div class="row g-3">
        <div class="col-lg-3 col-6">
            <x-adminlte-small-box title="150" text="New Orders" icon="bi bi-cart" theme="primary" url="#" />
        </div>
        <div class="col-lg-3 col-6">
            <x-adminlte-info-box title="44" text="Registrations" icon="bi bi-person-plus" theme="success" />
        </div>
    </div>

    <x-adminlte-card title="Quick form" icon="bi bi-pencil" theme="primary" outline collapsible>
        <x-adminlte-input name="email" label="Email" type="email" placeholder="you@example.com" />
        <x-adminlte-button type="submit" theme="primary" icon="bi bi-check-lg" label="Save" />
    </x-adminlte-card>
@stop

The menu

Define your sidebar in config/adminlte.php under menu:

'menu' => [
    ['header' => 'MAIN'],
    ['text' => 'Dashboard', 'route' => 'dashboard', 'icon' => 'bi bi-speedometer'],
    ['text' => 'Users', 'url' => 'users', 'icon' => 'bi bi-people', 'can' => 'view-users', 'label' => 5, 'label_color' => 'danger'],
    ['header' => 'CONTENT'],
    [
        'text' => 'Posts',
        'icon' => 'bi bi-file-post',
        'submenu' => [
            ['text' => 'All posts', 'url' => 'posts'],
            ['text' => 'New post', 'url' => 'posts/create'],
        ],
    ],
],

Supported keys: header, text, route, url, icon, icon_color, label, label_color, active (url patterns), target, can (gate), submenu. Active state and authorization are resolved automatically by the menu filters.

Components

Widget Components

ComponentTagNotes
Card<x-adminlte-card>Collapsible, removable, with icon & theme
Small Box<x-adminlte-small-box>Stat box with icon & URL
Info Box<x-adminlte-info-box>Info box with progress bar
Alert<x-adminlte-alert>Dismissible alerts (info, success, warning, danger)
Callout<x-adminlte-callout>Highlight box with icon & theme
Progress<x-adminlte-progress>Progress bar with label & percentage
Timeline<x-adminlte-timeline>Event timeline
Progress Group<x-adminlte-progress-group>Group of progress bars
Description Block<x-adminlte-description-block>Description with title & icon
Profile Card<x-adminlte-profile-card>User profile card with stats
Ratings<x-adminlte-ratings>Star rating display
Direct Chat<x-adminlte-direct-chat>Chat widget with flip-pane
Toast<x-adminlte-toast>Bootstrap 5 toast notification
Tabs<x-adminlte-tabs>Tab navigation wrapper
Tab<x-adminlte-tab>Individual tab pane
Accordion<x-adminlte-accordion>Accordion wrapper
Accordion Item<x-adminlte-accordion-item>Accordion panel
Breadcrumb<x-adminlte-breadcrumb>Bootstrap breadcrumb navigation

Form Components

ComponentTagNotes
Input<x-adminlte-input>Text input with validation
Input (Flatpickr)<x-adminlte-input-flatpickr>Date/time picker
Input (Tom Select)<x-adminlte-input-tom-select>Searchable select dropdown
Input (Switch)<x-adminlte-input-switch>Toggle switch
Input (Color)<x-adminlte-input-color>Color picker
Input (File)<x-adminlte-input-file>File upload
Textarea<x-adminlte-textarea>Multi-line text input
Select<x-adminlte-select>Native select dropdown
Button<x-adminlte-button>Themed button (primary, success, danger, etc.)

Tool Components

ComponentTagNotes
Chart<x-adminlte-chart>ApexCharts (area, line, bar, donut, pie, sparkline)
Vector Map<x-adminlte-vector-map>jsVectorMap world/region maps
Calendar<x-adminlte-calendar>FullCalendar 6 event calendar
Kanban<x-adminlte-kanban>SortableJS drag-to-reorder board
Sortable<x-adminlte-sortable>Generic SortableJS wrapper
Wizard<x-adminlte-wizard>Multi-step form wizard
Wizard Step<x-adminlte-wizard-step>Individual wizard step
Modal<x-adminlte-modal>Bootstrap 5 modal dialog
Datatable<x-adminlte-datatable>Tabulator data table
Editor<x-adminlte-editor>Quill rich text editor
ComponentTag
Notifications Dropdown<x-adminlte-nav-notifications>
Messages Dropdown<x-adminlte-nav-messages>
Tasks Dropdown<x-adminlte-nav-tasks>

Form components auto-display validation errors from the session and repopulate with old() input. Chart, map, and calendar components auto-enable their plugins.

Scaffolding

Generate complete, working application sections β€” migrations, models, controllers, seeders, routes, and data-driven views β€” with one command:

php artisan adminlte:scaffold              # interactive multi-select
php artisan adminlte:scaffold mailbox      # a single section
php artisan adminlte:scaffold --all --seed # everything, with demo data
SectionWhat you get
mailboxadminlte_messages table, Message model, inbox/read/compose, seeder
chatconversations + pivot + messages, ChatController, threaded UI
kanbanboards/lanes/cards (+ assignees), SortableJS board, reorder endpoint
calendaradminlte_events table, FullCalendar UI + JSON feed (CRUD)
projectsadminlte_projects table, status/progress, CRUD index
file-managerLaravel Storage browser (upload/delete) β€” no migration
profile / settingsauth-user pages wired to the User model
invoice / pricing / faqready-to-edit static pages

Routes are added to an idempotent, auth-protected /admin group named adminlte.*. Run php artisan migrate and visit /admin/{section}.

Authentication

php artisan adminlte:make-auth                 # plain (default)
php artisan adminlte:make-auth --type=breeze   # Breeze integration guidance
php artisan adminlte:make-auth --type=fortify  # Fortify integration guidance

plain publishes Login / Register / ForgotPassword / ResetPassword controllers and registers the matching routes, all wired to the package's adminlte::auth.* views.

Customization

Everything in config/adminlte.php is documented inline β€” title, logo, layout switches (layout_fixed_sidebar, fixed_navbar, sidebar_mini, …), the color-mode toggle, sidebar theme, and custom element classes.

For deeper visual changes (sidebar width, breakpoints, brand colors), compile AdminLTE's SCSS β€” see the customization guide and Option B in resources/css/adminlte.css.

Premium Laravel Dashboards

This package is free and MIT-licensed. When you need a production Laravel admin with a real backend out of the box β€” Eloquent CRUD, Fortify authentication, role-based permissions, and dozens of polished pages β€” these commercial Laravel editions from DashboardPack pick up where the free template leaves off. Each ships Laravel 13 + Inertia.js 3 + React 19 + Tailwind CSS v4 with a working database, not static mockups.

Apex Dashboard Laravel β€” Laravel 13 admin with Inertia, React 19 and Tailwind v4
Apex Dashboard β€” Laravel
Database-backed CRUD (Orders, Products, Customers, Invoices), Fortify auth with 2FA, Spatie RBAC, and 5 dashboards plus 6 app pages.
Zenith Dashboard Laravel β€” ultra-minimal Laravel admin with Inertia and React 19
Zenith Dashboard β€” Laravel
Ultra-minimal achromatic design. Full backend CRUD and role-based access, with 5 dashboard variants and 30+ polished pages.
Signal Dashboard Laravel β€” DevOps monitoring admin with a terminal aesthetic
Signal Dashboard β€” Laravel
DevOps monitoring with a terminal aesthetic β€” 11 infrastructure resources (servers, incidents, deployments, pipelines, containers…) across ~50 pages.
Admindek Laravel β€” 80+ page Laravel admin with Fortify auth and Spatie RBAC
Admindek β€” Laravel
10 dashboard variants and 80+ pages, with Fortify authentication and Spatie role-based access control built in.

Prefer the official AdminLTE-branded premium themes? Browse AdminLTE Premium.

View All Premium Templates β†’

Contributing

Issues and PRs welcome. The quality gates (Pint, Larastan level 8, PHPUnit) run in CI on PHP 8.3 / 8.4 / 8.5 with Laravel 13 β€” run them all locally with composer check. See docs/contributing.md for setup and conventions, and .github/SECURITY.md for reporting vulnerabilities privately.

Changelog

See CHANGELOG.md for the release history.

License

MIT Β© Colorlib. See LICENSE.