Speed of an SPA

Turbo your website

The speed of a single-page web app without writing any JavaScript, courtesy of Turbo

composer require symfony/ux-turbo

What Turbo gives you

  • Turbo Drive

    Links and forms become Ajax, no full reloads.

  • Turbo Frames

    Update one region of the page in place.

  • Turbo Streams

    Append, replace or remove any element from PHP.

  • Real time with Mercure

    Broadcast Doctrine changes to every open tab.

  • Native ready

    The same app, wrapped by Hotwire Native.

Turbo Drive.

Transform all link clicks and form submits into Ajax calls to get that single-page-application feel.

Click any links on this site or submit this form. Zero full page refreshes!

Symfony logo

Turbo Drive Demo

Build yourself a new pet

Turbo Frames.

Decompose complex pages into different parts that load and behave independently. Try it - it's smooth.

The frame displays just part of the full page from https://ux.symfony.com/turbo/todos. All link clicks and form submits stay inside the frame.

Symfony logo

Turbo Frames Demo

Turbo Streams.

Deliver page updates - to any elements on your page - directly from Symfony. Add Mercure to do this for any users on your site, in real-time.

Chat with someone else viewing this page (or open a 2nd browser tab to talk to yourself)!

Loading the chat...

Install Turbo.

$ composer require symfony/ux-turbo

More from Symfony UX.

Turbo is one package among many. They share the same Stimulus foundation and install the same way.

Image for the Notify UX package

Notify

Trigger native browser notifications from inside PHP

Image for the CalendarLink UX package

CalendarLink

Let users add your events to their calendar of choice in one click.

Image for the Icons UX package

Icons

Render SVG icons seamlessly from your Twig templates.

Browse every package

Keep Turbo at hand.

Documentation, the people behind it, and where to ask when something does not behave.