Laravel UI: Bootstrap, Vue and React scaffolding for Laravel 9 through 13
Laravel UI utilities and presets.
At a glance
- What is it?
- Laravel UI generates Bootstrap, Vue or React frontend scaffolding and optional login and registration views through Artisan. It still works on current Laravel, but the README now points new projects at Laravel Breeze instead.
- Who is it for?
- Adopt Laravel UI when you maintain a Laravel 9 to 13 application that already depends on its Bootstrap auth views, or when you want plain Blade login and registration files you can edit directly. Do not adopt it for a new project: the README itself points to Laravel Breeze for new work and Laravel Jetstream for something more capable.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 67 days ago.
- What is it written in?
- Mainly PHP, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 24, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What Laravel UI generates that a bare Laravel skeleton does not
A fresh Laravel application ships without a frontend build setup and without authentication views. Laravel UI fills both gaps from the command line. It is a Composer package that adds an Artisan command, ui, which writes frontend files into your application: a package.json entry for the chosen framework, SASS and JavaScript entry points, and, when you pass the auth flag, the login, registration, password reset and email verification views plus the routes and controllers behind them. The audience is Laravel developers who want Bootstrap markup and plain Blade templates they can open and edit, rather than a component-based starter kit with its own conventions. The README is explicit about the project's position: it calls itself a legacy package, a very simple authentication scaffolding built on Bootstrap, and says that while it continues to work with the latest version of Laravel, new projects should consider Laravel Breeze, or Jetstream for something more capable. That sentence is the most important thing on the page. The package is maintained, not recommended for greenfield work.
The ui Artisan command and what it writes into your app
The mechanism is code generation, not a runtime library. You install the package with Composer, then run the ui command with a preset name. Three presets exist: bootstrap, vue and react. Each writes a different set of frontend files. The bootstrap preset sets up Bootstrap and SASS; vue and react set up the corresponding JavaScript framework alongside the SASS entry point. Adding --auth to any of them generates the authentication scaffolding on top. The stubs directory in the repository is where those generated files come from, and the auth-backend directory holds the pieces the auth flag installs. Nothing here is a service provider doing work at request time; once the files are written they belong to your application and you are free to modify or delete them. That is the trade-off in one sentence: you get editable source files instead of an upgradeable dependency, which means upstream changes will not reach you automatically. The README does not document a rollback command or a way to regenerate cleanly over an edited tree, so treat the first run as a one-way write unless you are working in version control.
Installing Laravel UI and generating your first auth scaffolding
The README gives the install as a single Composer command. Run it from the root of an existing Laravel application, not as a new project.
composer require laravel/uiAfter Composer finishes, the ui command is available. The README shows the basic scaffolding commands and the auth variants side by side. To get Bootstrap with login and registration views:
php artisan ui bootstrap --authFor a Vue or React frontend instead, the README lists php artisan ui vue --auth and php artisan ui react --auth. Then install the JavaScript dependencies and start the development build. The README states that npm run dev processes the instructions in vite.config.js and that compiled assets typically land in public/build/assets.
npm install
npm run devThe README notes that vite.config.js compiles resources/sass/app.scss and resources/js/app.js, and that app.js loads resources/js/bootstrap.js, which configures Vue, Axios and jQuery. If you scaffolded Vue, an ExampleComponent.vue file is placed in resources/js/components as a single file component example. What you should see after the build is a working login page at the standard Laravel auth routes, styled with Bootstrap.
Version compatibility is the first thing to check, not the last
Laravel UI is versioned against Laravel itself, and the README publishes the mapping. Version 1.x covers Laravel 5.8 and 6.x, 2.x covers 7.x, 3.x covers 8.x and 9.x, and 4.x covers 9.x through 13.x. The README also states that only the latest major version receives bug fixes. In practice this means a team on Laravel 8 cannot expect fixes to land on the 3.x branch, and a team on Laravel 9 has a choice between the 3.x and 4.x lines with different support expectations. The latest release listed for the 4.x line is v4.6.3, published on 2026-03-17, following v4.6.2 on 2026-03-10 and v4.6.1 on 2025-01-28. The gap between v4.6.1 and v4.6.2 is roughly thirteen months, which tells you the release cadence is driven by Laravel compatibility rather than by feature work. Pin the major version in composer.json rather than accepting whatever Composer resolves, because a major bump here changes which Laravel releases you can run.
Where Laravel UI is the wrong tool
The clearest limitation is stated by the project itself: it is legacy, and the README directs new projects to Laravel Breeze. If you are starting an application today, generating Bootstrap auth views means adopting a scaffold the maintainers have already positioned as superseded. The second limitation is the frontend stack. Laravel UI's presets assume Bootstrap, SASS and a Vite build, and the generated files are meant to be edited in place. A team that has standardized on Tailwind CSS, or on Livewire or Inertia for its UI layer, gains little from the bootstrap preset and will spend time removing what it generates. The third is the absence of documented teardown. The README describes how to generate scaffolding but not how to reverse it, so an experiment on a real codebase leaves files, routes and controllers behind unless you revert through version control. Finally, the package is a generator, not an authentication system. It does not document rate limiting, two-factor authentication or session policy; those come from the Laravel framework and whatever you build on top.
Laravel UI versus Laravel Breeze, and when Jetstream enters the picture
The difference between Laravel UI and Laravel Breeze is not cosmetic. Laravel UI writes Blade views and a SASS and JavaScript pipeline into your application; the resulting files are yours to maintain, and the package's job ends once the command returns. Breeze, which the README names as the recommended option for new projects, is a separate starter kit with its own stack choices and its own update path. The README also mentions Jetstream for something more capable than Laravel UI. So the decision has three positions rather than two: Laravel UI for an existing Bootstrap-based Laravel 9 to 13 app that wants editable Blade auth views; Breeze for new projects; Jetstream when the application needs more than simple authentication scaffolding. If your reason for looking at Laravel UI is that you want Bootstrap and nothing else, that is a legitimate reason, and the README acknowledges Bootstrap is provided as a starting point rather than a requirement. If your reason is that it is what you already know, that is a weaker one, because the generated code becomes your maintenance burden either way.
Licence, maintenance and the cost of upgrading
Laravel UI is released under the MIT licence, and the repository carries a LICENSE.md file at the top level alongside CHANGELOG.md and a .github directory. MIT is permissive: it allows commercial use and modification, and it requires the copyright notice and licence text to be preserved in distributions. This is not legal advice, and the licence file in the repository is the authoritative text. On maintenance, the last push to the repository was on 2026-07-24, and the repository is not archived. The project is alive but its own README frames it as legacy, and the release history shows compatibility-driven releases rather than a steady feature cadence. The upgrade cost is structural rather than technical: because the ui command writes files into your application, moving to a newer Laravel UI version does not automatically update the views you already generated. You would re-run the command on a clean tree, diff the output against your edited files, and merge by hand. Budget for that, or accept that your generated auth views will drift from upstream.
Editorial conclusion
Adopt Laravel UI when you maintain a Laravel 9 to 13 application that already depends on its Bootstrap auth views, or when you want plain Blade login and registration files you can edit directly. Do not adopt it for a new project: the README itself points to Laravel Breeze for new work and Laravel Jetstream for something more capable. Before installing, check the version table against your Laravel release, then confirm what php artisan ui bootstrap --auth actually generates in your app, because the README does not document rollback or how to remove the scaffolding once it is in place.
Frequently asked questions
What is Laravel UI?
It is a Composer package that provides an Artisan ui command which generates frontend scaffolding for Bootstrap, Vue or React, and, with the --auth flag, login and registration views. The README describes it as a legacy package and a very simple authentication scaffolding built on Bootstrap.
How do I install Laravel UI?
Run composer require laravel/ui from the root of an existing Laravel application, then generate the scaffolding with a command such as php artisan ui bootstrap --auth. After that, npm install and npm run dev build the frontend assets.
Is Laravel UI deprecated?
The README does not use the word deprecated. It calls the package legacy and says that while it continues to work with the latest version of Laravel, new projects should consider Laravel Breeze, or Jetstream for something more capable.
Laravel UI vs Breeze: which should I use?
The README recommends Laravel Breeze for new projects and mentions Jetstream for something more capable. Laravel UI remains an option for existing Bootstrap-based applications on Laravel 9 through 13 that want editable Blade authentication views.
What does php artisan ui react do?
It generates React frontend scaffolding, and with the --auth flag it also generates login and registration scaffolding. The README lists php artisan ui react and php artisan ui react --auth among the available commands.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/laravel-ui)