Bladewell vs April UI
April UI is a free set of Blade components built on Alpine.js and inspired by shadcn/ui, installed as a Composer package, with Livewire optional. Bladewell is free, plain Blade with vanilla JavaScript, and copies its components into your app.
Side by side
April UI's column is taken from its own docs, repository and Packagist page as they read on 10 October 2026, each linked as its source. Something out of date? Tell us.
| Topic | Bladewell | April UI |
|---|---|---|
| Price and licence | Free, MIT licensed. Every component, no paid tier. | Free, MIT licensed. Source: Price and licence, April UI |
| How you install it | php artisan bladewell:add copies each component's Blade, JavaScript and CSS into your app. You edit them like your own code; bladewell:add --installed updates the files you haven't changed and lists the ones you have. The package can stay a dev dependency. | A Composer package your app runs, its views kept in vendor until april:publish copies one into resources/views/vendor/april through Laravel's vendor publishing. Source: How you install it, April UI |
| Without Livewire | Yes: plain Blade. The same components work inside Livewire 3 and 4 components too. | Yes: Blade with Alpine. Livewire is optional, for its data table adapter and one of its starter kits. Source: Without Livewire, April UI |
| JavaScript it brings | One small vanilla JS module per component, bundled by your own Vite build. No Alpine or Livewire, and nothing from a CDN, except the scripts the captcha's optional providers load. | Alpine.js, which @aprilScripts registers its components with, plus a separate TipTap bundle for the editor. Source: JavaScript it brings, April UI |
| CSS | Tailwind CSS 4.1 or later, with a theme file of colour tokens. | Tailwind CSS 4, with a PHP port of Tailwind Merge to combine classes. Source: CSS, April UI |
| Laravel and PHP | Laravel 12 or 13, PHP 8.3 or later. | Laravel 12 or 13, PHP 8.3 or later. Source: Laravel and PHP, April UI |
| Date range picker | Yes, free. | Yes: the date picker in range mode. Source: Date range picker, April UI |
| Data table | Yes: sorting, filters with option counts, row selection and pagination, run by your controller or Livewire component, with the URL kept in step. | Yes: a client-side Alpine table with sorting, search, row selection and pagination, or a controlled mode and an optional Livewire adapter that own the query and the URL state. Source: Data table, April UI |
| File upload | Yes, including direct upload with progress and retry. | No: its attachment component shows a file and its upload state, but doesn't upload it. Source: File upload, April UI |
| Under a strict CSP | No onclick or style attributes, no eval, and no inline scripts but one opt-in: nothing needs 'unsafe-inline' or 'unsafe-eval'. The accordion menu's remember adds a small inline script that takes your CSP nonce, and the menu still works where it's blocked. | Not documented. It runs on Alpine, whose standard build needs 'unsafe-eval'. Source: Under a strict CSP, April UI |
| Accessibility | Keyboard support and ARIA in every component. Every example is checked with axe, light and dark, closed and open, on every change. | Not documented. |
| Latest release | 1.0.0, 9 October 2026. 42 components so far. | v1.3.6, 2 October 2026. Source: Latest release, April UI |
Which to pick
April UI, if
- You'd rather get updates with composer update than own the files.
- You need charts, a rich text editor, a carousel or a sidebar built in.
- You want ready-made page blocks and a starter kit for laravel new.
Bladewell, if
- You need a file upload, a phone input or a tags input.
- You want to edit any component freely and still get updates for the files you haven't touched.
- You'd rather not depend on Alpine.
- Your Content Security Policy has no 'unsafe-eval'.
Also compared: Flux, Mary UI, WireUI, Blade UI Kit, BladewindUI and Sheaf UI.