The Splade repository marked read-only, archived on 20 October 2025, beside the Laravel versions each library installs on: Splade stops at 12, while Livewire 4 and Inertia.js 3 reach 13. Two cards show where each keeps state: a PHP class on the server, or a page component in the browser.

Livewire vs Splade vs Inertia.js in 2026: what a Laravel team should pick now that Splade is archived

Splade went read-only in October 2025, so the old three-way question now comes with a deadline. Here is where each library keeps its state, what each one needs, and how to move a Splade screen.

Livewire vs Splade vs Inertia: which one should a Laravel team pick in 2026?#

Pick Livewire 4 or Inertia.js 3, because the Splade repository was archived on 20 October 2025 and its last release allows nothing newer than Laravel 12. The Splade repository on GitHub carries the banner "This repository was archived by the owner on Oct 20, 2025." Its composer.json accepts Laravel 10, 11 and 12, and nothing else. So the real question is between two tools that still ship.

The Livewire 4 quickstart says it lets you "build dynamic, reactive interfaces using only PHP". Meanwhile, the Inertia.js guide to how it works says "At its core, Inertia is essentially a client-side routing library." In short, the first suits a team whose screen logic lives in PHP. The second suits a team that wants React, Vue or Svelte to own the page while Laravel keeps the routes.

Livewire 4, Splade 1.4 and Inertia.js 3 compared by where UI state lives, maintenance status and Laravel support, as of 3 October 2026. Source: Splade repository and composer.json on GitHub; Livewire 4.x installation docs; Inertia.js v3 upgrade guide; read 3 October 2026.

LibraryWhere UI state livesStatus on 3 October 2026Laravel majors it installs on
Livewire 4A PHP class on the serverShips; v4.4.7 on 28 September10 and later, including 13
Splade 1.4Blade on the server, renderless Vue 3 in the browserArchived on 20 October 2025; last release 1.4.2110, 11 and 12 only
Inertia.js 3A React, Vue or Svelte page component in the browserShips; v3.8.0 on 1 October11 and later, including 13

How long can a Laravel 12 app keep running Splade?#

A Laravel 12 app on Splade gets framework security fixes only until 24 February 2027, because Splade's composer constraint stops at Laravel 12. Laravel's release notes for 13.x, read on 3 October 2026, state that "bug fixes are provided for 18 months and security fixes are provided for 2 years". The same table shows that Laravel 12 bug fixes already ended on 13 August 2026.

Support per Laravel major releasesecurity outlasts bug fixes

18 months

Bug fixes

24 months

Security fixes

Laravel 12 bug fixes already ended on 13 August 2026, so a Splade app now runs on security fixes alone until 24 February 2027.

Support per Laravel major release (months of support per Laravel major)
Optionmonths of support per Laravel major
Bug fixes18 months
Security fixes24 months

Source: Laravel, Release Notes 13.x, 2026

Therefore the hard part is not the framework upgrade. Instead, it is porting every Splade screen first, since Composer cannot install Laravel 13 while Splade caps the framework at 12. From 3 October 2026, about 20 weeks of security fixes remain. Say an app has 30 Splade screens, an illustrative count. Then the team must port about one and a half screens a week, every week, to finish in time. Because each port also needs testing, a slower team should start sooner rather than hope for more time.

Will your team finish before 24 February 2027?

Change the screen count and your team's weekly pace to see whether the port fits before Laravel 12 security fixes end.

Your app

an assumption, change ityours to enter

Weeks left counts from 3 October 2026 to 24 February 2027, the end of Laravel 12 security fixes in Laravel's 13.x release notes. The 30 screens are the illustrative count from the worked example.

Screens a week needed to finish in time

1.5

Weeks needed at your pace
Enter your weekly pace
Weeks to spare (negative means late)
Enter your weekly pace

Arithmetic from Laravel's 13.x release notes, read 3 October 2026. Modelled, not measured.

What does each library send over the wire when a user clicks?#

Livewire sends changed values to a PHP component on the server, while Inertia.js fetches a JSON page object and lets React, Vue or Svelte render it. In the quickstart's form, typing in a bound field sends no request at all. Then a click on save sends both values to the server, which runs the PHP method and checks them. So the state is simply the public properties of a PHP class.

Yet Splade sits between the two. Its README says it builds a single page app from "standard Laravel Blade templates, enhanced with renderless Vue 3 components". In other words, the server renders the markup and Vue 3 adds the behaviour in the browser.

Inertia.js works at the level of whole pages instead. Its docs say that on a link click the server "returns a JSON response with the JavaScript page component name and data (props)". Then the client swaps in the new page component and updates the browser history. As a result, its state lives in the browser, inside a JavaScript component, while Laravel keeps routing, controllers and middleware.

DiagramWhat crosses the wire on a click: changed values and new HTML for Livewire, Blade plus renderless Vue 3 for Splade, a JSON page object for Inertia.js. Source: Livewire 4.x quickstart, Splade README, Inertia.js v3 docs, read 3 October 2026.

Is Laravel Splade still maintained?#

No: the Splade repository has been read-only since 20 October 2025, Splade Core was archived on 27 February 2024, and the author ruled out a v2 or v3. Read-only means no new issue, pull request or release can land there. Packagist lists 1.4.21 as the newest Splade version, so that is the last release any app will get.

The author, Pascal Baljet, explained why in his post Thoughts on Splade. He wrote: "Splade v1 is not dead, but it's clearly not the way forward." He also wrote: "So, there will be no v2 or v3 in the near future." Put plainly, a Splade app gets no bug fixes, no security patches and no Laravel 13 support. A team can fork it, but then that team owns every fix.

And usage has followed the archive. Packagist's stats, read on 3 October 2026, show Splade at 1,212 installs in the last month.

Show data table
Splade's monthly installs barely register next to the two packages that replaced it. Source: Packagist, stats for each package, 3 October 2026.
Item Value
livewire/livewire 7,660,581
inertiajs/inertia-laravel 6,645,659
protonemedia/laravel-splade 1,212

Splade drew 1,212 installs in the last month, against 7,660,581 for Livewire and 6,645,659 for the Inertia.js Laravel adapter.

Figure Splade's monthly installs barely register next to the two packages that replaced it. Source: Packagist, stats for each package, 3 October 2026. Packagist, stats.json for each package, 3 October 2026

How widely are Livewire and Inertia.js used compared with Splade?#

Packagist counts 109,313,995 Livewire installs and 80,447,936 for the Inertia.js Laravel adapter, against 110,484 for Splade across its whole life. Those totals come from Packagist's stats page for each package, read on 3 October 2026.

Packagist installs, all timetwo live, one archived

109,313,995

livewire/livewire

80,447,936

inertiajs/inertia-laravel

110,484

protonemedia/laravel-splade

Both live options have tens of millions of installs, while Splade has 110,484 across its whole life.

Packagist installs, all time (installs, all time)
Optioninstalls, all time
livewire/livewire109,313,995
inertiajs/inertia-laravel80,447,936
protonemedia/laravel-splade110,484

Source: Packagist, 2026

Also, both tools still ship. The Livewire releases page, read on 3 October 2026, shows v4.4.7 on 28 September, with a v3.8.10 patch the same day. Likewise, the Inertia.js releases page shows v3.8.0 on 1 October, published by Pascal Baljet, who wrote Splade. In short, neither replacement is a bet on survival. So the choice between them is about fit.

When is Livewire 4 the right replacement for a Splade screen?#

Choose Livewire 4 when a screen is forms, tables and validation that PHP already owns, because a Splade Blade view ports to a Livewire component without a JavaScript build. That works because Splade components come in two halves. The author describes them as "a Blade Component and a Vue Component (with only a script, not a template)". So a port keeps the markup and moves the Vue half into a PHP class.

For example, a Splade form becomes a single-file component. The class and the template sit in one file, as the quickstart shows, and wire:model binds each input to a public property. Version 4 also changes a few habits from v3. The Livewire 4 upgrade guide says Route::livewire() "is now the preferred method" for full-page components. It also says modifiers like .blur now control when client state syncs.

Also, admin panels lean this way. Filament runs on Livewire, as our Filament guide explains, so a team with a Filament back office already ships it. If the open question is the line between this and plain controllers, see our comparison with traditional Laravel.

Where each part of a Splade screen goes in Livewire 4. Illustrative mapping from the Splade author's description and the Livewire 4.x quickstart and upgrade guide, read 3 October 2026.

Part of the Splade screenWhere it goes in Livewire 4
The Blade Component half (the markup)Kept as the template of a single-file component
The Vue Component half (a script, no template)Public properties and methods of the PHP class in the same file
Each form inputwire:model binds it to a public property
A full-page routeRoute::livewire(), now the preferred method
When client state syncsModifiers such as .blur now control it

When is Inertia.js 3 the better replacement?#

Choose Inertia.js 3 when a screen needs client-side state such as optimistic updates or rich widgets, and the team already writes Vue, React or Svelte. Since Splade already rendered through Vue 3, screens that leaned on Vue for their behaviour move most easily here.

The Inertia.js v3 upgrade guide lists what is new. A built-in XHR client replaces Axios, optimistic updates roll back on their own, and the useHttp hook sends requests without a page visit. However, v3 also raises floors on the client. The React adapter needs React 19, and the Svelte adapter needs Svelte 5.

Meanwhile, the server side barely changes. Laravel still owns routing, controllers, middleware and authorization. So a Splade controller keeps its logic and returns Inertia::render instead of a view. Then the page itself becomes a Vue, React or Svelte component that receives the props.

  1. Keep the controller logic.

    Laravel still owns routing, controllers, middleware and authorization.

  2. Return Inertia::render instead of a view.

    The controller passes the page component name and its props.

  3. Write the page as a Vue, React or Svelte component.

    It receives the props the controller sent.

  4. Meet the v3 client floors.

    The React adapter needs React 19, and the Svelte adapter needs Svelte 5.

What PHP and Laravel versions does each one need in October 2026?#

Livewire 4 needs Laravel 10 and PHP 8.1, Inertia.js 3 needs Laravel 11 and PHP 8.2, and Laravel 13 itself needs PHP 8.3. Its installation page lists "Laravel version 10 or later" and "PHP version 8.1 or later". The Inertia.js v3 upgrade guide says "The Laravel adapter now requires PHP 8.2 and Laravel 11 at a minimum." Also, Laravel's 13.x release notes say "Laravel 13.x requires a minimum PHP version of 8.3."

Show data table
Both replacements run on Laravel 13; Splade stops one major short. Source: Livewire 4.x installation docs, Inertia.js v3 upgrade guide, Splade composer.json and Laravel Release Notes 13.x, read 3 October 2026.
Item Value
Livewire 4, lowest Laravel 10
Inertia.js 3, lowest Laravel 11
Splade 1.4, highest Laravel 12
Current Laravel 13

Livewire 4 installs from Laravel 10 and Inertia.js 3 from Laravel 11, both up to 13, while Splade stops at 12.

Figure Both replacements run on Laravel 13; Splade stops one major short. Source: Livewire 4.x installation docs, Inertia.js v3 upgrade guide, Splade composer.json and Laravel Release Notes 13.x, read 3 October 2026. Laravel Livewire 4.x installation docs; Inertia.js v3 upgrade guide; Splade composer.json, read 3 October 2026

So both replacements install on Laravel 11, 12 and 13, while Splade stops at 12. And new projects point the same way. The Laravel 13 starter kits page offers React, Svelte, Vue and Livewire kits. Of those, the React, Svelte and Vue kits all use Inertia, and no kit uses Splade.

Which official pages should you install from?#

Install from four official pages in order: Livewire's 4.x installation and quickstart, or Inertia.js v3's server-side setup followed by its client-side setup. Each tool needs two of them.

  1. Livewire 4 installation: the composer require line and the version floors.
  2. Livewire 4 quickstart: make:livewire, the single-file component and Route::livewire.
  3. Inertia.js v3 server-side setup: the Laravel adapter, the app.blade.php root template and the HandleInertiaRequests middleware.
  4. Inertia.js v3 client-side setup: the @inertiajs/vite plugin and createInertiaApp.

The order matters for Inertia.js, because the client app mounts inside the root template that the server side creates. For a new app, the starter kits do all of this. But an existing Splade app needs the manual steps.

DiagramInstall order from the official pages: Livewire's installation then quickstart; Inertia.js server-side setup, whose root template the client-side setup mounts into. Source: Livewire 4.x docs and Inertia.js v3 installation docs, read 3 October 2026.

What is the smallest working Livewire 4 component and Inertia.js 3 page?#

The smallest Livewire 4 start is one artisan command, one single-file component with wire:model, and one Route::livewire line. These steps follow the quickstart.

bash
composer require livewire/livewire
php artisan make:livewire pages::post.create

The command writes resources/views/pages/post/⚡create.blade.php. Replace its contents with this.

php
<?php

use Livewire\Component;

new class extends Component {
    public string $title = '';

    public function save()
    {
        $this->validate(['title' => 'required|max:255']);
    }
};
?>

<form wire:submit="save">
    <input type="text" wire:model="title">
    <button type="submit">Save Post</button>
</form>

Then add Route::livewire('/post/create', 'pages::post.create'); to routes/web.php. On the Inertia.js side, the server and client setup pages give three commands and a controller.

bash
composer require inertiajs/inertia-laravel
php artisan inertia:middleware
npm install @inertiajs/vue3 @inertiajs/vite
php
use Inertia\Inertia;

class EventsController extends Controller
{
    public function show(Event $event)
    {
        return Inertia::render('Event/Show', [
            'event' => $event->only('id', 'title'),
        ]);
    }
}

Finally, resources/js/app.js needs only two lines: import createInertiaApp from @inertiajs/vue3, then call it. After that, the Vite plugin finds the page in the pages folder and mounts it.

When are Livewire and Inertia.js the wrong tool?#

Neither is the right tool for a mostly static site, which needs plain Blade with Alpine.js, or for a front end shared with mobile apps, which needs an API. First, a marketing site with a menu and a modal needs no server round trips, so Blade and Alpine.js cover it. Later, the switch stays small, since the installation page notes that Livewire bundles Alpine.js.

Second, Inertia.js replaces the view layer of one Laravel app. When a mobile app and a web app share the same data, a JSON API with its own front end serves both. And neither library helps the mobile side.

Third, an app due to retire before 24 February 2027 may not need a port at all. Keep it on Laravel 12, patch it until the security window closes, and put the effort into its successor.

Three cases where neither Livewire nor Inertia.js is the right tool, and what to use instead. Illustrative, from the cases in this section. Source: Livewire 4.x installation docs (Alpine.js bundled) and Laravel Release Notes 13.x (24 February 2027), read 3 October 2026.

SituationUse insteadWhy
A mostly static site with a menu and a modalPlain Blade with Alpine.jsIt needs no server round trips, and Livewire bundles Alpine.js if it grows
A front end shared with mobile appsA JSON API with its own front endInertia.js replaces the view layer of one Laravel app, and neither library helps the mobile side
An app due to retire before 24 February 2027Stay on Laravel 12 and patch itThe security window covers it, so the effort goes into its successor

Where should a Laravel team go next?#

Read the Livewire versus plain Laravel comparison next, then the Filament, Laravel for SaaS and Rector upgrade guides for the work that follows the port. Then, for admin screens, the Filament guide picks up where the port leaves off.

Product teams can read Laravel for SaaS for the stack around the front end. Once Splade is gone, the Rector guide to PHP migrations covers automated upgrade work. Also, Laravel Folio covers page-based routing, and the Laravel performance guide covers what to measure after the switch.

If you want the port done for you, you can hire Laravel software engineers or use maintenance and support for an app on an archived package. For most teams, though, the official docs are enough to do the port alone.

Questions this post answers

Is Laravel Splade still maintained?
No: the Splade repository has been read-only since 20 October 2025, Splade Core was archived on 27 February 2024, and the author ruled out a v2 or v3. Packagist lists 1.4.21 as the newest Splade version, so that is the last release any app will get.
Livewire vs Splade vs Inertia.js: which should a Laravel team pick in 2026?
Pick Livewire 4 or Inertia.js 3, because the Splade repository was archived on 20 October 2025 and its last release allows nothing newer than Laravel 12. Livewire keeps the user interface (UI) state in a PHP class on the server. Inertia.js keeps it in a React, Vue or Svelte page component in the browser.
How long can a Laravel 12 app keep running Splade?
A Laravel 12 app on Splade gets framework security fixes only until 24 February 2027, because Splade's composer constraint stops at Laravel 12. From 3 October 2026, about 20 weeks of security fixes remain.

Keep reading