If you run a business on a Laravel application that was built a few years ago, you have probably had the quote conversation already, and it probably ended with "it depends". It does depend — but on a short list of things you can check yourself in ten minutes. This guide walks through what moves the price of a Laravel 8-to-13 upgrade in 2026, what the market actually charges from automated tools up to UK agencies, and what we charge, with the numbers published rather than hinted at.
The calendar that forces the decision
An upgrade is rarely urgent until the day it is. These are the dates that matter, taken from the official Laravel and PHP release schedules:
| Version | Bug fixes ended | Security fixes end | PHP it runs on |
|---|---|---|---|
| Laravel 8 | 26 July 2022 | 24 January 2023 | 7.3–8.1 |
| Laravel 9 | 8 August 2023 | 6 February 2024 | 8.0–8.2 |
| Laravel 10 | 6 August 2024 | 4 February 2025 | 8.1–8.3 |
| Laravel 11 | 3 September 2025 | 12 March 2026 | 8.2–8.4 |
| Laravel 12 | 13 August 2026 | 24 February 2027 | 8.2–8.5 |
| Laravel 13 (current) | 10 August 2027 | 24 February 2028 | 8.3+ |
Read that table from the bottom up. Laravel 11 stopped receiving security fixes on 12 March 2026, so every Laravel 11 application is now unpatched. Laravel 12 stopped receiving bug fixes on 13 August 2026 and has security fixes only until 24 February 2027. Anything on Laravel 8, 9 or 10 has been unpatched for years.
PHP has its own calendar. PHP 8.1 reached the end of security support on 31 December 2025. PHP 8.2 follows on 31 December 2026 (what that means for a Laravel 10 or 11 app). Laravel 13 needs PHP 8.3+, so an application on Laravel 8 and PHP 8.0 or 8.1 has to move both at once — which is the first thing that drives cost.
Why the framework is the easy part
Here is the thing most quotes do not say out loud: upgrading Laravel itself is well documented and, for a clean codebase, fairly mechanical. Each major has an upgrade guide, and the changes to the framework's own APIs are known in advance.
The cost lives in the third-party packages. A Laravel 8 application typically depends on twenty to sixty Composer packages, and every one of them has to support the new Laravel and the new PHP before composer update will even resolve. Some have a new major with breaking changes of their own. Some were abandoned in 2022 and will never support Laravel 13. Some were written by a developer who has since left your company, live in a private repository, and nobody remembers what they do.
Replacing an abandoned package is real engineering work: understanding what it did, finding or writing a maintained equivalent, migrating data if it stored any, and proving the application behaves the same afterwards. Multiply that by however many you have and you have the shape of the quote.
What actually drives the cost
Which Laravel version is your app on?
Paste your composer.json into the free audit. Within 24 hours you get the end-of-life dates, the abandoned packages, and a fixed price for bringing it current.
Four things, in roughly this order of weight:
- How many majors behind you are. One or two majors is a sprint. Five majors (8 to 13) means walking through five upgrade guides in sequence, because skipping steps is how subtle breakages are introduced. Each step is cheaper than the first, but none of them is free.
- Abandoned and unmaintained packages. This is the single biggest variable. An application whose dependencies are all alive and current upgrades in days; one with four abandoned packages, two of them touching authentication or file storage, takes weeks.
- Test coverage. If the application has a test suite, the upgrade has a definition of done: the suite is green. If it does not, someone has to either write smoke tests first or click through every screen by hand after every step. Backfilling tests around the code paths the business depends on is often the most valuable part of the whole job, and it is work.
- The PHP jump. Moving from PHP 7.4 or 8.0 to 8.3 or newer brings its own deprecations and removals — dynamic properties, changed string and array function behaviour, stricter typing in places. Code that has been quietly relying on old behaviour surfaces here.
Two things that do not drive cost as much as people expect: the size of the database, and the number of users. An upgrade is about the code, not the data.
What the market charges in 2026
The range is wide because the offers are not the same thing.
Automated tools: $19 to $39 per version
Laravel Shift sells automated upgrades priced per major version, currently in the $19 to $39 range depending on the version. It is good at what it does: it rewrites the framework-level changes between two adjacent versions and opens a pull request. What it cannot do is replace your abandoned packages, fix your PHP deprecations in application code, write your missing tests, or tell you whether the application still works. For a clean, well-tested codebase one version behind, it may be all you need. For a Laravel 8 application with real dependencies, it is the first ten percent of the job.
UK agencies: £3,000 to £12,000 for a single version
Published UK agency ranges for a single-version Laravel upgrade run from roughly £3,000 to £12,000, with multi-version jobs quoted on a day-rate basis on top. The price buys senior engineers, a proper process and, usually, a project manager. It also buys UK overheads. If you are already working with an agency that knows your application, this is often the right answer and you should take it.
Freelance marketplaces: an hourly rate and your own risk
Individual developers will quote anything from a few hundred dollars upward on an hourly basis. The hourly rate is the only number you get up front; the total depends on how long it takes, and the person quoting has every incentive to be optimistic. Some of these engagements go well. The ones that do not usually fail on the packages, at the point where the developer discovers the work is larger than the estimate and the client discovers there is no fixed price.
What we charge, fixed
We sit between the automated tools and the UK agencies, deliberately. The work is senior, the process is the same one the agencies use, and the price is fixed before we start so the risk of a bad estimate is ours. The full detail is on the Laravel upgrade page and the pricing page; the headline numbers are:
| Package | Price | Fits when | Takes |
|---|---|---|---|
| Free audit | Free | You want to know where you stand before spending anything | Within 24 hours |
| Upgrade Sprint | $2,500 (about £1,900) | One or two Laravel majors plus the PHP runtime, with the test suite green | 7–10 working days |
| Full Upgrade | $4,500–$6,000 (about £3,400–£4,500) | Three or more majors, abandoned packages replaced, tests backfilled | 2–3 weeks |
A Laravel 8-to-13 upgrade is five majors, so for most applications it is a Full Upgrade. Where the figure lands inside the $4,500–$6,000 range depends on the package situation the audit turns up, and we tell you the exact number before you commit. Half is paid up front and half on hand-over. If we underestimated, that is our cost, not yours.
What is included, and what is not
A fixed price only means something if the scope is written down. Every upgrade includes:
- Laravel and PHP brought up to current supported versions, one major at a time.
- Every third-party package updated or replaced, with the reasons written down so your next developer knows why.
- Existing tests passing; smoke tests added where there were none. The Full Upgrade backfills coverage around the code paths the business depends on.
- A deployment rehearsal on a staging copy before anything touches production.
- A security review of authentication, sessions and file handling (Full Upgrade).
- Hand-over notes a developer who has never seen the application can read, and a written risk register of what we found and what we deliberately left alone.
Not included, and quoted separately if you want them: rewrites of application features, new functionality, front-end framework migrations, and infrastructure moves. An upgrade is the same application on current foundations. It is not a new application.
After the upgrade: not falling behind again
The reason most applications end up five majors behind is not that anyone decided to skip upgrades. It is that nobody owned them. Laravel ships a major every year and PHP ships one every November; without someone whose job it is to take each one as it arrives, the gap opens again.
That is what our care plans are for: a block of engineering hours every month, from $500/month, with a named engineer who knows your codebase, a response-time SLA and a monthly health report that lists versions and vulnerabilities. Staying one minor version behind costs a few hours a year. Catching up from five majors behind costs what this article is about. We wrote a separate piece on whether a care plan or a hire is the better answer for that ongoing work.
How to get your own number in ten minutes
- Open
composer.jsonand note thelaravel/frameworkconstraint and the PHP version on the server. - Count the packages under
require. Twenty is normal; sixty is a flag. - Run
composer outdated --directandcomposer auditif you can. Abandoned packages are marked as such. - Check whether there is a
testsdirectory with anything in it, and whether it passes. - Paste the
composer.jsoninto the free audit. You get the same analysis done properly, plus the package that fits and the price, within a day.
Frequently asked questions
How much does a Laravel upgrade cost?
In 2026, an automated tool costs $19–$39 per version and handles only the framework-level changes; published UK agency ranges for a single-version upgrade run £3,000–£12,000; and our fixed prices are $2,500 for an Upgrade Sprint (one or two majors plus PHP) and $4,500–$6,000 for a Full Upgrade (three or more majors with abandoned packages replaced and tests backfilled). The audit that tells you which one you need is free.
How long does a Laravel 8 to 13 upgrade take?
Two to three weeks for a typical business application on our Full Upgrade, including the staging rehearsal and hand-over. One or two majors is seven to ten working days. The variable is almost always the third-party packages, not the framework.
Can I skip versions and go straight from Laravel 8 to 13?
You can run the upgrade as one project, but the work inside it still walks through each major's upgrade guide in order. Jumping directly is how configuration changes, renamed methods and changed defaults get missed and surface as production bugs weeks later.
Is Laravel 8 still safe to run?
No. Laravel 8 stopped receiving security fixes on 24 January 2023, and the PHP versions it runs on are also out of security support. Any vulnerability found since then in the framework or in PHP itself is unpatched in your application.
Do I need to upgrade PHP as well?
Almost certainly. Laravel 13 requires PHP 8.3+, and Laravel 8 supported PHP 7.3–8.1, so there is no version that satisfies both ends of the journey. The PHP move is part of every upgrade package we sell.
What if the upgrade uncovers something bigger?
It happens, and the audit is designed to catch most of it in advance. If something genuinely outside the written scope turns up mid-upgrade — a feature that has to be rewritten, a front-end migration — we stop, write it up, and quote it separately. The fixed price for the upgrade itself does not move.
Get a number for your application, not a range
Paste your composer.json into the free Laravel audit. Within a day you get the real state of the app — versions against their end-of-life dates, the abandoned packages named, how many majors stand between you and current — and which fixed-price package fits, with the price attached. If you would rather talk it through first, get in touch; there is no sales call attached to the audit either way.



