realrashid/sweet-alert

A beautiful, responsive, customizable, accessible (WAI-ARIA) replacement for JavaScript popup boxes for Laravel - rebuilt with a fluent, Laravel-native API.
3,300,299 1,161
Install
composer require realrashid/sweet-alert
Latest Version:v8.0.0
PHP:^8.3
License:MIT
Last Updated:Sep 7, 2026
Links: GitHub  ·  Packagist
Maintainer: realrashid

Laravel SweetAlert

A beautiful, responsive, customizable, accessible (WAI-ARIA) replacement for JavaScript popup boxes for Laravel — rebuilt from scratch with a fluent, Laravel-native API.

Latest Version on Packagist GitHub Tests Action Status Total Downloads

Features

  • Fluent Builder API — Chain methods naturally like Laravel Eloquent
  • Full SweetAlert2 Coverage — Inputs, deny buttons, pre-confirm, animations, themes, and more
  • Three Purpose-Built BuildersAlertBuilder, ToastBuilder, and InputBuilder
  • PHP 8.3+ Enums — Type-safe AlertType, InputType, and Position enums with IDE autocompletion
  • Livewire v4 Support — First-class SweetAlertTrait for dispatching alerts as browser events
  • Inertia.js Support — Share alerts with Vue/React via the included middleware
  • Guarded Actionsdata-confirm asks before any link or form goes through, no JavaScript to write
  • Laravel Boost Ready — ships a guideline and skill so AI assistants write v8 code, not v7
  • Guided Upgradephp artisan alert:upgrade migrates a v7 codebase for you, with --dry-run

See It Running

AlertDeck is a Laravel app that exercises every alert this package can produce — in Blade, in Livewire and in Inertia, plus the guarded-action attributes, all seven themes, and routes migrated from v7 by alert:upgrade.

Quick Start

composer require realrashid/sweet-alert
php artisan alert:install

Upgrading from v7? See what would change before anything is written:

php artisan alert:upgrade --dry-run

Add the Blade directive to your layout:

<head>
    ...
</head>
<body>
    ...
    @sweetAlert
</body>

Fire an alert from any controller:

use RealRashid\SweetAlert\Facades\Alert;

Alert::title('Welcome!')
    ->success()
    ->text('Your account has been created.')
    ->flash();

return redirect()->route('dashboard');

Or use the global helper:

alert('Success!', 'Your data has been saved.', 'success');

return redirect()->back();

Documentation

Ready to explore all the features and options? Dive into our comprehensive documentation:

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

If you discover a security vulnerability, please help us maintain the security of this project by responsibly disclosing it to us. To report a security vulnerability, please send an email to realrashid05@gmail.com. We'll address the issue as promptly as possible.

Credits

Support My Work

If you find Laravel SweetAlert helpful and would like to support my work, you can buy me a coffee. Your support will help keep this project alive and thriving. It's a small token of appreciation that goes a long way.

Buy me a coffee

License

The MIT License (MIT). Please see License File for more information.

Related Packages

masmerise/livewire-toaster

Beautiful toast notifications for Laravel / Livewire.

697,210 510
ab01faz101/tail-alert

A lightweight and responsive alert package for Laravel Livewire, built with Tail...

88 11
uxweb/sweet-alert

A simple PHP package to show Sweet Alerts with the Laravel Framework

1,335,262 823
leandreaci/alerts

A Alert package for Laravel

1,017 0
islamalsayed/laravel-toasts

Modern, elegant toast notifications and confirmation dialogs for Laravel with fu...

28 0