laravel-ignition gives Laravel a readable error page and a Flare hand-off
A beautiful error page for Laravel apps
At a glance
- What is it?
- spatie/laravel-ignition is the customizable error page for Laravel applications, and it is two things in one: a self-hosted renderer for stack traces, and a client for the hosted Flare service that can share errors publicly and track them in production. The version support is precise, and the older Laravel line has a separate package.
- Who is it for?
- laravel-ignition suits a Laravel team that wants a readable local error page and, optionally, production error tracking through Flare without building that plumbing themselves. It is the wrong tool for a non-Laravel application, for a Laravel application that must not send data to a third-party service, and for a team that needs its error tracking to live entirely in its own infrastructure.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 2 days ago.
- What is it written in?
- Mainly PHP, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 24, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What the package puts in front of a stack trace
Ignition is described as a beautiful and customizable error page for Laravel applications, and the README calls the project a beautiful error page for Laravel apps.
The problem it solves is narrow and familiar to anyone who has shipped PHP. An unhandled exception in production produces a page of stack trace, or in a misconfigured environment, a blank 500. The trace tells a developer what happened, but the default rendering of a large framework stack is hard to read, and the information a developer needs is scattered through it. Ignition replaces that with a designed screen, and the README's own value claim is aesthetic rather than functional, which is unusual and worth naming. The design decisions behind that screen are the subject of a linked blog post on a major redesign of the package for Laravel and PHP.
The package is published on Packagist as spatie/laravel-ignition, with a version badge, a downloads badge and a test workflow badge, and the official documentation is hosted on the Flare website under the Ignition documentation rather than in the repository.
For the audience, the people who benefit are Laravel developers who want a better local debugging experience, and teams who want the same screen to appear when something goes wrong in production rather than a generic error. The second half of that is where the hosted service comes in.
The Flare connection changes what the package does
The second capability in the README is the one with consequences.
Ignition allows you to publicly share your errors on Flare. If configured with a valid Flare API key, your errors in production applications will be tracked, and you'll get notified when they happen.
So the package is two layers. The first is a renderer that turns an exception into a screen, and it runs entirely in your application. The second is a client for a hosted service, and it only activates when you supply a key.
That split is the design point. Without a key you get a better error page and nothing leaves your server. With a key, errors in production are tracked and you are notified, and an error can be shared publicly so that someone who hit it can look at a link rather than describing what they saw.
The homepage is flareapp.io/ignition, so the commercial relationship with the hosted service is visible from the start, and the README says the project is supported by buying one of Spatie's paid products. The open-source package is the entry point, and the hosted service is the business.
For an evaluation, that framing matters more than the aesthetics. The error page is open source under MIT and works on its own. The tracking and sharing features are a hosted product, and the key you add decides which of the two you are running.
Version support, and the separate package for the old line
The version story is stated in three sentences and they cover every case.
spatie/laravel-ignition version 2.0 and later supports Laravel 10 and later on PHP 8.1 or higher. Version 1.x was the last to support Laravel 8 and 9. And for Laravel 5.x, 6.x or 7.x, or older PHP versions, you use facade/ignition.
That is a clean migration story. If you are on a current Laravel, this is the package. If you are on Laravel 8 or 9, you are on the 1.x line and should plan the move to 2.x, which means moving to Laravel 10 and PHP 8.1 as well. If you are on anything older than Laravel 8, this package is not for you and facade/ignition is a different codebase you have not migrated yet.
The release history matches the picture of a maintained line with a maintained predecessor. The recent tags are 2.12.1 on 2026-10-19, 2.12.0 on 2026-03-17 and 1.7.2 on 2026-03-17. The 1.7.2 tag landing on the same day as 2.12.0 is the kind of detail that tells you the old line got a final maintenance release rather than being abandoned in place.
The last push was on 2026-10-19, the same day as the 2.12.1 release, and the repository is not archived.
What is in the repository and what is not
The top level of the repository is short, and it tells you what kind of project this is.
There is src/ for the package code, config/ for the configuration, tests/ with a phpunit.xml.dist, and docs/. The static analysis setup is visible too, with phpstan.neon.dist and a phpstan-baseline.neon, which is the usual arrangement for a package with a large dependency surface where a baseline keeps the analyser quiet on code the team has not yet fixed.
There is also a .php_cs.php, which is the older style configuration file for PHP CS Fixer, and a CHANGELOG.md, a LICENSE.md, a composer.json, an .editorconfig and a .gitattributes.
What is not there is the documentation. The official documentation for Ignition is on the Flare website, and the design rationale is in a blog post, with a video on YouTube that the README recommends to anyone who is a visual learner, describing it as a demo of all of the features.
That is a real consideration for an open-source package. The code is on Packagist under the MIT licence, but the manual lives on a vendor's domain, and a design blog post is where the reasoning behind the interface is recorded. If you need the documentation to be part of what you control, this is a dependency with a documentation dependency, and that is worth saying out loud in an evaluation.
Where Ignition is the wrong tool
Three situations, and they are about scope rather than quality.
The first is a non-Laravel application. This is a Laravel package, with a Laravel config directory and Laravel's exception pipeline behind it. The design ideas could inspire an equivalent for another framework, but nothing here installs into a Symfony or a Slim application.
The second is a deployment that must not talk to a third party. The error page works on its own, but the features that make it valuable in production, tracking and notification, and the public sharing link, all require a Flare account and an API key. A team whose policy is that exception data stays inside its own perimeter, or that must be able to work in an air-gapped environment, will get the renderer and none of the service.
The third is a team that needs error tracking as a product rather than a feature. This is an error page with a hand-off, not an observability platform. It shows you what went wrong and, if you configure it, tells you that it went wrong. It is not a tracing tool, not a metrics pipeline and not a log aggregator, and pairing it with a proper error tracker is normal rather than redundant.
There is a smaller operational point. The screen is a designed page, and designed pages carry more JavaScript and more layout assumptions than a stack trace. On an old browser or a constrained device, the thing you rely on to debug is also the thing that might not render well.
Licence, funding model and what to check first
The licence is MIT, with the license text in a LICENSE.md file at the repository root, and the README states it plainly. For an error page, MIT means you can install it in a commercial application, vendor it if you need to, and change it, with the notice retained and no other obligation. There is no copyleft obligation and no per-seat licensing.
The funding model is the part to be aware of. The README says the project is supported by buying one of Spatie's paid products, and it asks for postcards sent to the team's address, which they publish on a virtual postcard wall. That is a small maintainer organisation whose open-source work is paid for by its commercial products, and the Flare service is one of them.
The practical questions to close before you adopt it are short. Confirm your Laravel and PHP versions are inside the supported range, since 2.x needs Laravel 10 on PHP 8.1 or newer. Decide whether the Flare integration is acceptable under your privacy policy, because the key you add is what turns a local renderer into something that ships error data to a hosted service. And if you want the documentation to be yours, note that it lives on the Flare site rather than in the repository.
For the maintenance picture, the last push was on 2026-10-19 with the repository not archived, the 2.12.1 release on the same day, and a CHANGELOG.md referenced from the README for what changed recently. The contributing guide and the security policy are both linked, which means a team that wants to contribute or to report a vulnerability has a documented route for both.
Editorial conclusion
laravel-ignition suits a Laravel team that wants a readable local error page and, optionally, production error tracking through Flare without building that plumbing themselves. It is the wrong tool for a non-Laravel application, for a Laravel application that must not send data to a third-party service, and for a team that needs its error tracking to live entirely in its own infrastructure. Verify first that your Laravel and PHP versions fall inside the supported range, since 2.x needs Laravel 10 on PHP 8.1 or newer and the old line lives in a different package, and confirm that the Flare feature is acceptable to your privacy policy before enabling it, because sharing errors publicly is part of what the package does.
Frequently asked questions
Which Laravel and PHP versions does spatie/laravel-ignition support?
Version 2.0 and later supports Laravel 10 and later on PHP 8.1 or higher, and version 1.x was the last to support Laravel 8 and 9. For Laravel 5.x, 6.x or 7.x, or older PHP versions, the README directs you to facade/ignition.
Does laravel-ignition send error data to a third party?
Only if you configure it to. The error page renders in your application, and if configured with a valid Flare API key your production errors will be tracked on Flare and you will be notified. Without a key, the page works locally and nothing is shared.
Where is the documentation for laravel-ignition?
The official documentation is on the Flare website under the Ignition documentation, not in the repository. The README also links a video demo of all the features and a blog post about the design decisions behind a major redesign.
What licence is spatie/laravel-ignition released under?
The MIT License, with the full text in the LICENSE.md file at the repository root. The project is maintained by Spatie, which says its development is supported by people buying its paid products.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/spatie-laravel-ignition)Was this useful?