Blog
How to upgrade Joomla 5 to 6
Upgrading Joomla 5 to 6 is an in-place upgrade, not a migration. Here are the 5 steps, plus how to rehearse the whole thing on a throwaway copy in 30 seconds.
Upgrading Joomla 5 to 6 is an in-place upgrade, not a migration, so you run it from inside the Joomla administrator rather than rebuilding the site. The whole sequence is: back up and test the restore, confirm your host runs PHP 8.3, set the Update Channel to Joomla Next, swap the backward-compatibility plugin, and run the update. Because it touches the core, your extensions, and your template at once, the safe way to do it is to dry-run the exact steps on a throwaway copy first, where a broken extension costs you nothing. This guide walks through the upgrade, what changes between 5 and 6, and how to practise it in minutes. Want to try the process now? You can open a clean Joomla 5.4 and run the upgrade on it, then read the rest.
Is upgrading Joomla 5 to 6 a migration or an upgrade?
It is an upgrade, not a migration, and the distinction changes how much work it is. Joomla’s own release announcement in October 2025 is explicit: “upgrading from Joomla 5.4 to 6.0 is an upgrade, not a migration” (Joomla.org release announcement). In practice that means you run it in place from System, then Update, then Joomla, the same component that handles minor updates, rather than rebuilding the site the way the old Joomla 3 to 4 migration required. There is a detailed official recipe in the Joomla User Manual’s 5 to 6 step-by-step page.
The same announcement adds the load-bearing caveat: “most extensions will work seamlessly with the ‘Behaviour - Backward Compatibility 6’ plugin enabled.” Most is not all, and the ones that do not are the reason you test. If you want the fuller case for testing any update before it reaches production, our guide on testing a Joomla update before going live covers it; this post is the actual upgrade procedure.
What you need before you upgrade
Two things: a tested backup and a host that meets Joomla 6’s requirements. The headline requirement change is PHP. Joomla 6 needs PHP 8.3.0 as a minimum, where Joomla 5 ran on PHP 8.1, alongside MySQL 8.0.13 or MariaDB 10.4 and at least 256 MB of memory (Joomla technical requirements). If your host is still on PHP 8.1 or 8.2, the Joomla Update screen will not even offer the upgrade until you raise the PHP version.
| Requirement | Joomla 5 | Joomla 6 |
|---|---|---|
| PHP (minimum) | 8.1 | 8.3.0 (8.4 recommended) |
| MySQL (minimum) | 8.0 | 8.0.13 |
| MariaDB (minimum) | 10.4 | 10.4 |
| Memory | 256 MB | 256 MB |
The one row that stops most upgrades is the first: the PHP jump from 8.1 to 8.3. Everything else is unchanged or close to it, so if your host already runs a current PHP, the environment side of the upgrade is a formality (Joomla technical requirements).
The backup is non-negotiable if you are upgrading a live site. The official manual does not just say to back up; it tells you to “test your backup to make sure it restores” (Joomla User Manual). A dry run on a disposable copy does not replace that backup, but it does mean you already know how the upgrade behaves before you run the real one. For the full requirements list and how to skip the check entirely, see our post on Joomla system requirements.
How do you upgrade Joomla 5 to 6, step by step?
You run the upgrade in place from the Joomla administrator, after pointing the Update component at the next major version. The one non-obvious step is the Update Channel: by default Joomla only offers minor updates, because automatic updates are not supported across major versions, so you have to switch the channel to Joomla Next before 6.1 appears. Here is the whole sequence:
- Back up the site and test the restore. Take a full backup before you touch anything, and actually restore it somewhere to confirm it works. The official Joomla manual is blunt about this: back up your website, then test your backup to make sure it restores. A backup you have not tested is a guess.
- Confirm your stack meets Joomla 6's requirements. Joomla 6 raises the minimum to PHP 8.3, where Joomla 5 ran on PHP 8.1. Check your host's PHP version, and that MySQL is 8.0.13 or MariaDB 10.4 or newer. If PHP is too old, the Joomla Update screen will not offer the upgrade at all until you raise it.
- Set the Update Channel to Joomla Next. In the administrator, go to System, then Update, then Joomla. By default the channel only offers minor updates, so open Options in the toolbar, change the Update Channel to Joomla Next, and save. Joomla 6.1 now appears as an available update.
- Read the Pre-Update Check and swap the compatibility plugin. The screen lists Required Settings, Recommended Settings, and your third-party Extensions. Resolve anything flagged, then disable the old Behaviour - Backward Compatibility plugin and enable the new Behaviour - Backward Compatibility 6 plugin, which most extensions rely on to keep working.
- Run the update, then click through the result. Install the update, then exercise the site: load the front end, open the administrator, and open each extension and the template. If something broke, this is where you find it. On a dry-run copy you just close the tab; on production you would restore your backup.
Running this on a throwaway Joomla 5.4 ourselves, the core part is quick and uneventful: the Update Channel switch and the Pre-Update Check take a couple of minutes, and the actual update runs like any other. What takes the time, every time, is the step after, checking each extension and the template on the new version, which is exactly the part you want to test before production. It is the same process whether you run it on your live site or on a dry-run copy, which is what makes a throwaway install such a good place to practise it. You can open a clean Joomla 5.4 to run the upgrade from, or a fresh Joomla 6.1 to test your extensions on directly.
Dry-run the 5 to 6 upgrade on a throwaway site
Spin up a clean Joomla 5.4 in one click, set the Update Channel to Joomla Next, and run the upgrade to 6.1 exactly as you will on production. The site deletes itself after four hours, so a failed upgrade breaks nothing that matters.
Open a free Joomla test siteWhat breaks between Joomla 5 and 6
Mostly older code that assumed the Joomla 5 way of doing things, which is why the Backward Compatibility 6 plugin exists. Joomla’s migration notes list what actually changed: the JPATH_PLATFORM constant is no longer globally defined, the CMS Input namespace was removed, and the old Filesystem package moved into the compatibility plugin, all of them now available only through that plugin and slated for full removal in Joomla 7 (Joomla migration notes, removed and backward incompatibility). An extension that leans on any of those keeps working today only because the compatibility plugin is enabled.
So the extensions and template are where a 5 to 6 upgrade succeeds or stalls. Check each important extension’s version and last update date, and check whether any appear on the Vulnerable Extensions List, the official register of third-party extensions with known security problems. Then confirm rather than assume: install them on a clean Joomla 6.1 and use them. There is even a documented Joomla 6.0 issue where the backward-compatibility plugin group loads after system plugins, which can break some assumptions (joomla-cms issue #46233). That is exactly the kind of thing you want to hit on a dry run, not on your live site.
Why do a dry run before you upgrade?
Because a major upgrade you have not tested is a guess, and your live site is the wrong place to test it. A clean, disposable Joomla lets you run the exact sequence above, watch the Update Channel switch, the Pre-Update Check, and the compatibility plugin swap all behave the way they will on production, and see what breaks where a break costs nothing. WordPress users have had instant sandboxes for this for years, and the Joomla community asked for the same thing out loud in a 2024 GitHub discussion requesting “something like wp-playground but for Joomla” (joomla-cms discussion #43744).
A staging clone that carries your real content is the most faithful dry run, and our post on testing a Joomla update before going live weighs that against a disposable copy. But most upgrade failures are not about your content; they are about an extension, a template, or a PHP version that does not get along with the new core, and a clean free Joomla test site answers those in minutes with nothing to clone.
When should you upgrade Joomla 5 to 6?
The calendar is doing the deciding for you. Joomla 6.1 shipped on 14 April 2026 (Joomla Downloads, 6.1.0), and full support for Joomla 5 ends on 13 October 2026, with security-only updates running to 12 October 2027 (endoflife.date). After that, staying on Joomla 5 means running software that no longer gets fixes. You do not have to upgrade today, but you do want to know now whether your site is ready, so the move is a calm decision rather than a scramble against a deadline. If you are still weighing the two, our Joomla 5 vs Joomla 6comparison lays out what changed. A dry run on a sandbox turns “is our site ready?” into a tested answer in an afternoon.
Conclusion
The jump from Joomla 5 to 6 is an in-place upgrade, not a migration, which makes it straightforward: back up and test the restore, confirm PHP 8.3, set the Update Channel to Joomla Next, swap the backward-compatibility plugin, and run the update. The only real risk is an extension or template that has not kept up, and the cheapest place to find that out is a throwaway copy rather than production. Open a clean Joomla test site, run the upgrade the same way you will for real, see how it behaves, and walk away when you are done.
Frequently asked questions
Is upgrading Joomla 5 to 6 a migration?
No. Joomla's October 2025 release announcement states plainly that upgrading from Joomla 5.4 to 6.0 is an upgrade, not a migration. You run it in place from System, then Update, then Joomla, the same component that handles minor updates, rather than rebuilding the site the way the old Joomla 3 to 4 migration required. Most extensions carry over with the Backward Compatibility 6 plugin enabled, but you still confirm yours before trusting the live site.
How do I upgrade from Joomla 5 to Joomla 6?
Back up first and test the restore, confirm your host runs PHP 8.3 or newer, then in the Joomla administrator go to System, Update, Joomla, open Options, and set the Update Channel to Joomla Next so the major version is offered. Read the Pre-Update Check, disable the old Behaviour - Backward Compatibility plugin and enable Behaviour - Backward Compatibility 6, then run the update and click through the front and back end. Do a dry run of the whole sequence on a throwaway copy first so a failure costs nothing.
Why doesn't Joomla offer me the 6.0 update automatically?
Because automatic updates are not supported across major versions. By default the Joomla Update component's channel is set to Default, which only offers the next minor release. To see the 5 to 6 upgrade you open the component's Options and change the Update Channel to Joomla Next, then save. The major upgrade is always a deliberate, manual run, which is exactly why a dry run on a disposable site first is worth the few minutes.
What are Joomla 6's requirements compared to Joomla 5?
The headline change is PHP: Joomla 6 needs PHP 8.3.0 as a minimum, where Joomla 5 ran on PHP 8.1. It also asks for MySQL 8.0.13 or MariaDB 10.4 and at least 256 MB of memory, per the Joomla technical requirements. If your host is stuck on PHP 8.1 or 8.2, the Joomla Update screen will not even offer the upgrade until you raise the PHP version.
Will my extensions and template work after upgrading to Joomla 6?
Most will, with the Backward Compatibility 6 plugin enabled, but not all, which is why you test. Some code that older extensions rely on, such as the JPATH_PLATFORM constant and the CMS Input namespace, is now only available through that compatibility plugin and is slated for removal in Joomla 7. Install your extensions and template on a clean Joomla 6.1 and use them, so an abandoned or broken one shows up on a throwaway site instead of on production.
How long will Joomla 5 keep getting updates?
Full support for Joomla 5 ends on 13 October 2026, with security-only updates running to 12 October 2027, per endoflife.date. After that you will want to be on Joomla 6, whose support runs years longer. That deadline is a good reason to do a dry run of the 5 to 6 upgrade on a sandbox now, while you have time to fix anything that breaks, rather than under pressure later.
Sources
- Joomla.org, “Joomla 6.0 and Joomla 5.4 are here!” (upgrade, not migration) (14 October 2025).
- Joomla User Manual, Joomla 5 to 6 planning and upgrade step by step (retrieved July 11, 2026).
- Joomla Programmers Documentation, Technical Requirements (retrieved July 11, 2026).
- Joomla Programmers Documentation, Removed and Backward Incompatibility (5.4 to 6.0) (retrieved July 11, 2026).
- Joomla Downloads, Joomla 6.1.0 release (14 April 2026).
- endoflife.date, Joomla support and release cycle (retrieved July 11, 2026).
- Joomla Vulnerable Extensions List (retrieved July 11, 2026).
- joomla/joomla-cms, issue #46233 (backward-compatibility plugin load order) (retrieved July 11, 2026).
- joomla/joomla-cms, “something like wp-playground but for Joomla” discussion #43744 (4 July 2024).
Try it yourself
Spin up a free, disposable Joomla test site in seconds. No long signup, and it auto-deletes in 4 hours.
Open a free test site