Craft 6 and Laravel: What You Need To Know
A migration that's less scary than it sounds thanks to Pixel & Tonic's compatibility layer.
Last year at Dot All 2025, Pixel & Tonic announced Craft 6 will be shifting to Laravel, replacing the current Yii 2 PHP framework. Craft CMS has used the Yii framework since Craft 3 (a migration that was less-than painful at the time), so it is understandable that reactions were mixed when this news broke. But this time is different, in a couple of meaningful ways.
Why Laravel? #
Why not stay with Yii 2? It's not a bad framework by any means. The reason is bigger than just preference. Laravel has grown significantly in influence in the PHP world. If we look at stars on GitHub as a measure of popularity, Laravel [84.1k ⭐] is absolutely dominating Yii 2 [14.3k ⭐]. That popularity means a larger developer community, more packages, and more contributions. Moving to the larger, more popular ecosystem just makes sense for everyone. In fact, Craft 5 already uses some Laravel packages.
What's changing, exactly? #
Pixel & Tonic made it clear that "this is (mostly) a strict port to Laravel". They're happy with the current architecture of Craft CMS and want it to continue to feel familiar for developers. So this is more of a translation rather than a rewrite. The architecture you know — Elements, Fields, Sections, Matrix, the plugin system, services — is staying intact. What's changing is the underlying framework and its systems. A few examples:
| Craft 5 (Yii 2) | Craft 6 (Laravel) |
|---|---|
yii\db\ActiveRecord | illuminate/database (Eloquent ORM) |
yii\di\Container | illuminate/container |
yii\web\Router | illuminate/routing |
yii\base\Event | illuminate/events |
yii\caching\Cache | illuminate/cache |
yii\queue\Queue | illuminate/queue |
This list is far from exhaustive, but as you can see, there's a Laravel equivalent package for all the features that Yii 2 was previously responsible for. The things that make Craft Craft are left untouched. The same great author experience remains, the templating is unchanged, and still uses Twig. Only the plumbing is being changed.
Craft's Yii 2 adapter - the thing that makes this painless #
The lesson Pixel & Tonic drew from the Craft 3 transition was blunt: a forced, all-at-once plugin rewrite with no new author-facing features was a tough sell that took years longer than expected and left the community strained. They've built Craft 6 explicitly to avoid repeating that.
The special sauce is the Yii 2 adapter package (craftcms/yii2-adapter), a first-party compatibility layer that bridges Yii 2 API calls to their Laravel equivalents at runtime. What does this mean, exactly? Well, it means you should be able to get your project or plugin working with a single line added to your composer.json.
{
"require": {
"craftcms/cms": "^6.0",
"craftcms/yii2-adapter": "^6.0" // ← that's it
}
}
Pretty neat, right? Craft will handle resolving Yii namespaces and routing Yii calls to their appropriate Laravel counterpart. Most plugins will continue to function without a single line change to their application code.
The adapter buys you time, not a permanent free pass. It's designed to let you migrate on your own schedule, not stay on Yii 2 forever. Think of it as a deprecation runway, not a long-term solution.
What about after the upgrade? What's beyond? #
The real prize at the end of the road (whether you upgrade or drop in the adapter) is the Laravel ecosystem. Laravel's package ecosystem means things like queue drivers, testing utilities, and developer tooling that Craft previously had to implement custom can just be imported. Packages built for Laravel will just work in Craft 6.
Craft 6 will also ship some awesome content authoring experience updates along with it.
- Content releases — publish multiple entries and drafts simultaneously, manually or at a scheduled time
- Scheduled drafts — schedule a specific draft to go live at a future time
- Approval workflows and activity logs for editorial teams
- New UI with dark mode, mobile support, and WCAG 2.2 compliance — built on the Lion web component framework and exposed as a decoupled component library for plugin developers to integrate into their plugin UIs
How quickly do I need to upgrade? #
Let's take a look at the release calendar for Craft 6 and Craft 5's lifespan.
| Q1 2026 | Alpha — core Laravel migration complete; early testing |
| Q3 2026 | Beta — feature-complete; plugin compatibility testing window |
| Q4 2026 | General availability — Craft 6 stable release |
| Through 2031 | Craft 5 LTS — security and maintenance updates continue for five years after Craft 6 release |
Pixel & Tonic announced that Craft 5 is now a LTS (Long-Term Support) release, which is the most important thing for product managers and agencies to understand about this transition. A Craft 5 site launched today has guaranteed support through 2031. That's huge! There is no forced migration timeline, no end-of-life cliff, and no pressure to move before you're ready.
The TL;DR #
Craft is switching to Laravel but learned its lesson from a painful Craft 2→3 migration. They've developed an adapter package that will make the migration as painless as possible. Craft architecture will remain largely untouched so it will still be the same Craft you love. But as a bonus, we welcome a large, active, and enthusiastic developer community and a vast package library.
As the folks at Craft put it – "the future is bright!". I couldn't agree more!