Build single-page apps, without building an API.

Inertia.js lets you quickly build modern single-page React, Vue and Svelte apps using classic server-side routing and controllers.

class UsersController
    public function index()
        $users = User::active()
            ->get(['id', 'name', 'email']);

        return Inertia::render('Users', [
            'users' => $users

JavaScript apps the monolith way

Inertia is a new approach to building classic server-driven web apps. We call it the modern monolith.

Inertia allows you to create fully client-side rendered, single-page apps, without much of the complexity that comes with modern SPAs. It does this by leveraging existing server-side frameworks.

Inertia has no client-side routing, nor does it require an API. Simply build controllers and page views like you've always done!

See the who is it for and how it works pages to learn more.

Not a framework

Inertia isn't a framework, nor is it a replacement to your existing server-side or client-side frameworks. Rather, it's designed to work with them. Think of Inertia as glue that connects the two. Inertia does this via adapters. We currently have three official client-side adapters (React, Vue, and Svelte) and two server-side adapters (Laravel and Rails).

Join the newsletter

Jonathan Reinink
If you're interested in following along with the development of Inertia.js, I share updates about it with my newsletter.
Jonathan Reinink, creator