The fastest way to check your Laravel version is to open a terminal in the project’s root folder and run php artisan –version, which prints something like “Laravel Framework 13.x.x”. You can also use php artisan about, run composer show laravel/framework, or open the composer.lock file and find the version listed for laravel/framework.
Knowing which Laravel version an application runs sounds like a small detail, but it drives some of the most important technical decisions a business makes: whether the application still receives security fixes, which PHP version the server needs, which packages can be installed, and how much work an upgrade will involve.
This guide is for Laravel developers, support teams and website owners who manage Laravel applications — including owners without terminal access. It covers six reliable methods, how to check without SSH, common mistakes that give the wrong answer, and what your version number means for support and upgrade planning in 2026.
All Methods at a Glance
| Method | Command or location | Needs terminal? | Best for |
|---|---|---|---|
| 1. Artisan version flag | php artisan –version | Yes | Fastest answer |
| 2. Artisan about | php artisan about | Yes | Full environment overview (Laravel, PHP, drivers) |
| 3. Composer show | composer show laravel/framework | Yes | Exact installed package version |
| 4. composer.lock file | Project root → composer.lock | No | Hosting without SSH, code reviews |
| 5. Framework source constant | vendor/laravel/framework/src/Illuminate/Foundation/Application.php | No | Confirming what is actually deployed |
| 6. Tinker or code | app()->version() | Yes | Scripts, health checks, debugging |
Method 1: Check Laravel Version with php artisan –version
Open a terminal, move into the project’s root folder (the folder containing the artisan file), and run:
php artisan --version
# Short form
php artisan -V
# Example output
Laravel Framework 13.x.xThe output shows the exact major, minor and patch version. The major number (for example 13) tells you which support policy applies; the minor and patch numbers tell you how recently the framework was updated.
If you see “Could not open input file: artisan”, you are not in the project root. Change to the correct folder and try again.
Method 2: Use php artisan about for a Full Overview
The php artisan about command (available since Laravel 9.x) prints a summary of the application environment, including the Laravel version, PHP version, Composer version, environment name, debug mode, and the drivers configured for cache, queue, session and database.
php artisan about
# Show only the environment section
php artisan about --only=environmentThis is the most useful command for audits and support tickets because it answers several compatibility questions at once. It also shows whether debug mode is enabled — which should never be the case in production.
Method 3: Check Laravel Version with Composer
Laravel is installed as the laravel/framework Composer package, so Composer can report the installed version directly:
composer show laravel/framework
# Linux / macOS: only the version line
composer show laravel/framework | grep versions
# Windows PowerShell or Command Prompt
composer show laravel/framework | findstr versionsTo see whether a newer version is available within your allowed constraints, run composer outdated laravel/framework. This is a quick way to spot missing patch releases, which often include bug and security fixes.
Method 4: Find the Laravel Version in composer.lock
The composer.lock file in the project root records the exact version of every installed package. Open it in any text editor, search for “name”: “laravel/framework”, and read the “version” line directly below it.
{
"name": "laravel/framework",
"version": "v13.x.x",
...
}Why composer.json does not show the exact version
The composer.json file contains a version constraint, not the installed version. A constraint such as “laravel/framework”: “^13.0” means “any 13.x release”. The actual installed release is recorded in composer.lock. Laravel’s own documentation recommends constraints in this format because major releases can contain breaking changes.
Method 5: Read the VERSION Constant in the Framework Source
The framework defines its version as a constant in the Application class. Open this file:
vendor/laravel/framework/src/Illuminate/Foundation/Application.php
# Near the top of the class:
const VERSION = '13.x.x';This method confirms what is actually deployed on a server, which is useful when composer.lock and the server might be out of sync — for example after a failed or partial deployment.
Method 6: Check the Version with Tinker or Application Code
Inside Laravel Tinker or any application code, app()->version() returns the framework version string.
php artisan tinker
>>> app()->version()
=> "13.x.x"Use this for internal health checks, admin-only dashboards or monitoring scripts. Do not print the framework version on public pages or unauthenticated API endpoints. Publishing exact version numbers makes it easier for attackers to match your application against known vulnerabilities.
How to Check Laravel Version Without Terminal Access
Many website owners manage Laravel applications on shared hosting or through a hosting control panel without SSH. You can still find the version:
- cPanel or hosting File Manager: open the application’s root folder, open composer.lock in the built-in editor or viewer, and search for laravel/framework (Method 4).
- Download the file: download composer.lock through FTP or SFTP and open it in any text editor.
- Code repository: if the code is on GitHub, GitLab or Bitbucket, open composer.lock in the repository. Make sure you are looking at the branch actually deployed to production.
- Ask for php artisan about output: if a developer or hosting provider manages the server, ask them to run it and share the result. It answers most compatibility questions in one step.
If you cannot access the files or the repository at all, that is a warning sign in itself. Source-code and server access should always belong to the business that owns the application.
Can You Check a Website’s Laravel Version From the Browser?
Generally, no — and that is intentional. A correctly configured Laravel website does not reveal its framework version publicly. Cookies such as laravel_session or XSRF-TOKEN may suggest a site uses Laravel, but they do not reveal the version, and they can be renamed.
If a public page does show a detailed Laravel error screen with stack traces, the application is running with debug mode enabled in production. That exposes sensitive configuration details and should be fixed immediately by setting APP_DEBUG=false in the production environment file.
Common Mistakes When Checking the Laravel Version
| Mistake | What happens | Correct approach |
|---|---|---|
| Running laravel –version | Shows the Laravel installer version, not your project’s framework version | Run php artisan –version inside the project |
| Reading composer.json | Shows a constraint such as ^12.0, not the installed release | Check composer.lock or composer show |
| Checking a local copy only | Local, staging and production can run different versions | Check the environment that matters, usually production |
| Running in the wrong folder | “Could not open input file: artisan” | Move to the folder containing the artisan file |
| Assuming CLI PHP equals web PHP | The terminal and the web server can use different PHP versions | Compare php -v with the PHP version in your hosting panel or php artisan about |
How to Check the PHP Version for Your Laravel Application
Laravel version and PHP version go together: every Laravel release supports a specific PHP range. Run php -v in the terminal, or use php artisan about, which shows both. On shared hosting, the PHP version is usually shown in the control panel’s PHP selector.
Laravel 13 requires PHP 8.3 or newer and supports PHP 8.3 to 8.5. Avoid leaving a public phpinfo() page on a production server to check this; it exposes detailed server configuration.
What Your Laravel Version Means: Support Status in 2026
Laravel releases a new major version roughly once a year. Each release receives 18 months of bug fixes and 2 years of security fixes. As of September 2026, this is where each recent version stands:
| Version | Released | Supported PHP | Bug fixes until | Security fixes until | Status (Sept 2026) |
|---|---|---|---|---|---|
| Laravel 13 | Mar 17, 2026 | 8.3 – 8.5 | Q3 2027 | Mar 17, 2028 | Current, fully supported |
| Laravel 12 | Feb 24, 2025 | 8.2 – 8.5 | Aug 13, 2026 | Feb 24, 2027 | Security fixes only |
| Laravel 11 | Mar 12, 2024 | 8.2 – 8.4 | Sep 3, 2025 | Mar 12, 2026 | End of life |
| Laravel 10 | Feb 14, 2023 | 8.1 – 8.3 | Aug 6, 2024 | Feb 4, 2025 | End of life |
| Laravel 9 and older | — | — | Ended | Ended | End of life |
Source: Laravel official release notes and support policy. Always confirm current dates at laravel.com before planning.
For a full breakdown of what changed in the current release, read our guide to the latest Laravel version.
What to Do After You Check Your Laravel Version
| If you are on | Recommended action |
|---|---|
| Laravel 13 | Keep patch releases current with regular composer update cycles and automated tests. |
| Laravel 12 | Plan the move to Laravel 13 before security fixes end on February 24, 2027. Laravel describes the 12-to-13 upgrade as relatively minor for most applications. |
| Laravel 11 or 10 | Prioritize an upgrade. These versions no longer receive official security fixes, so vulnerabilities discovered now will not be patched by the framework. |
| Laravel 9 or older | Treat it as a modernization project. Several major versions, PHP upgrades and package replacements are usually involved; an audit should come first. |
| Core PHP or another framework | Assess whether a phased PHP to Laravel migration makes sense. |
Keep your version current with routine checks
- Run composer outdated monthly to see available updates for Laravel and its packages.
- Run composer audit to check installed packages against known security advisories.
- Use automated dependency alerts (for example GitHub Dependabot) in your repository.
- Record the Laravel and PHP versions of every environment in your maintenance documentation.
- Review the Laravel support table once a year, when each new major version is released.
These tasks are part of any serious Laravel maintenance and support plan.
When Should You Bring in Laravel Specialists?
Checking a version takes seconds. Acting on the result is where risk appears. Specialist help is worth considering when:
- The application is on Laravel 11 or older and handles customer data, payments or business-critical workflows.
- The upgrade spans multiple major versions or also requires a PHP upgrade.
- Key Composer packages are abandoned or have no version compatible with Laravel 13.
- Automated test coverage is low, so regressions would only be found by users.
- The original developer or agency is no longer available and documentation is limited.
When evaluating a partner for this work, ask for a written audit covering Laravel and PHP versions, dependencies, infrastructure, integrations and test coverage before accepting a fixed quote. A reliable Laravel development company should be able to separate essential upgrade work from optional refactoring or new features, and confirm that source code and IP remain yours.
Conclusion
For most developers, php artisan –version answers the question in a second. For deeper checks, php artisan about, Composer and the composer.lock file give a complete and reliable picture — and composer.lock works even without terminal access.
The version number is only useful if you act on it. In 2026, Laravel 13 is current, Laravel 12 is in its security-only window until February 2027, and Laravel 11 and older are end of life. Record your versions, keep patch releases current, and plan major upgrades before support ends rather than after a security issue forces the decision.
Frequently Asked Questions
What is the command to check the Laravel version?
The command is php artisan --version, run from the project’s root folder. It prints the installed framework version, for example “Laravel Framework 13.x.x”. The short form php artisan -V does the same. For a broader overview that also shows PHP version and configured drivers, run php artisan about.
How do I check the Laravel version without a terminal?
Open the composer.lock file in the project root using your hosting File Manager, FTP client or code repository, search for “laravel/framework”, and read the version line below it. This shows the exact installed version without SSH access. Make sure you check the files for the production environment.
Why does laravel --version show a different version from my project?
The laravel --version command shows the version of the Laravel installer, a global command-line tool used to create new projects. It does not report your project’s framework version. To check the framework version used by an application, run php artisan --version inside that project.
Where is the Laravel version stored?
The installed Laravel version is recorded in composer.lock and defined as the VERSION constant in vendor/laravel/framework/src/Illuminate/Foundation/Application.php. The composer.json file only contains a version constraint, such as ^13.0, which describes allowed versions rather than the exact installed release.
Can I check the Laravel version in composer.json?
Only approximately. composer.json shows a constraint such as ^12.0, which tells you the major version the project allows but not the exact installed release. For the precise version, check composer.lock or run composer show laravel/framework.
What is the latest Laravel version?
As of September 2026, the latest major version is Laravel 13, released on March 17, 2026. It requires PHP 8.3 or newer and supports PHP 8.3 to 8.5. Laravel publishes minor and patch releases frequently, so check the official release notes for the most recent patch version.

