- Home
- Code Formatting Tools
- Laravel Pint
Laravel Pint
What it is
Laravel Pint is a free, open-source PHP code style fixer that applies Laravel’s formatting conventions by default. It requires no configuration to start, and new Laravel applications include it automatically; it is also included in recent framework releases. Older applications can install it with Composer. Pint supports the Laravel, PER, PSR-12, Symfony, and empty presets, with further options through a pint.json file. Built on PHP CS Fixer, it can use that tool’s rules and Pint’s optional custom rules. By default, it checks PHP files outside the vendor directory. It can format selected files or directories, check for style errors without changing files, or focus on Git changes. Laravel documents running Pint with GitHub Actions when code is pushed. Blade formatting is off by default; enabling it uses Prettier and Blade and Tailwind CSS plugins and requires Node.js. The current package requires PHP ^8.3.0 and the json, mbstring, tokenizer, and xml extensions. Pint is MIT-licensed.
For and against
For
- No configuration needed for default Laravel style
- Offers five formatting presets
- Can check style errors without changing files
- Supports Git-focused formatting and CI workflows
Against
- Current package requires PHP ^8.3.0
- Blade formatting is off by default and requires Node.js
The verdict
Pint provides a free way to apply or check PHP formatting, with presets and Git-aware options. Check the PHP requirements first, and account for Node.js if enabling Blade formatting.
Who it suits
Pint suits PHP developers, especially teams working in Laravel projects, who want a consistent code style. Its Git-focused modes and documented GitHub Actions workflow can fit code review and CI workflows.
Plans and prices
Laravel Pint
Open-source PHP code style fixer · MIT license
Read 9 Oct 2026 · github.com
On the record
- Blade formatting
- Blade formatting is off by default; enabling it uses Prettier and Blade and Tailwind CSS plugins, and requires Node.js.laravel.com · read 8 Oct 2026
- Blade support
- Blade formatting is off by default and can be enabled with a rule or for one run with the --blade option; it uses Prettier and requires Node.js.laravel.com · read 9 Oct 2026
- Check without changing files
- The `--test` option checks for style errors without changing files and returns a non-zero exit code when it finds errors.laravel.com · read 8 Oct 2026
- CI integration
- Laravel documents configuring GitHub Actions to run Pint when code is pushed to GitHub.laravel.com · read 9 Oct 2026
- Continuous integration
- Laravel’s documentation gives an example of running Pint with GitHub Actions when code is pushed.laravel.com · read 8 Oct 2026
- Customization
- Users can customize presets, rules, and inspected folders in a pint.json configuration file.laravel.com · read 9 Oct 2026
- Default behavior
- Pint requires no configuration by default and applies Laravel's coding style.laravel.com · read 9 Oct 2026
- Default setup
- Pint requires no configuration by default and applies Laravel’s coding style.laravel.com · read 8 Oct 2026
- File scope
- By default, Pint inspects project PHP files except those in the vendor directory, with configuration options to exclude more files and folders.laravel.com · read 9 Oct 2026
- Git workflow
- The `--diff` option can limit work to files that differ from a specified Git branch, including for CI use.laravel.com · read 8 Oct 2026
- Installation
- Pint is included in recent Laravel framework releases; older applications can install it with Composer.laravel.com · read 9 Oct 2026
- Laravel installation
- Pint is automatically installed with new Laravel applications and is included in recent Laravel framework releases.laravel.com · read 8 Oct 2026
- License
- The Laravel Pint repository identifies Pint as open-source software licensed under the MIT license.github.com · read 8 Oct 2026
- License and security reporting
- Pint is MIT-licensed, and its repository directs users to its security policy to report vulnerabilities.github.com · read 9 Oct 2026
- Other projects
- Older applications can install Pint with Composer using `composer require laravel/pint --dev`.laravel.com · read 8 Oct 2026
- Parallel processing
- Experimental parallel mode can use every available machine core by default or a maximum process count specified by the user.laravel.com · read 9 Oct 2026
- PHP CS Fixer rules
- Pint is built on PHP CS Fixer and can use its rules, along with Pint’s optional custom rules.laravel.com · read 8 Oct 2026
- Presets
- Supported presets are laravel, per, psr12, symfony, and empty.laravel.com · read 9 Oct 2026
The review
Laravel Pint is a command-line formatter for PHP projects, especially useful to Laravel teams that want consistent style without first building a ruleset. Its preset choices and Git-aware modes give it room to fit established workflows, though it is not a general-purpose environment manager and Blade formatting adds a separate dependency.
Overview
New Laravel applications include Pint, and recent Laravel framework releases ship with it; older projects can add it as a Composer development dependency. It starts with no configuration and applies Laravel’s coding style, a sensible default for Laravel projects but one that PHP teams with a different house style may want to replace.
Pint is open-source software under the MIT license, built on PHP CS Fixer. It scans project PHP files by default and skips the vendor directory. A pint.json file can adjust presets, rules, and inspected folders, so teams can adapt it without being locked to the default scope.
Key features
Presets and rule customization
The available presets are Laravel, PER, PSR-12, Symfony, and empty. This covers common PHP conventions as well as a clean slate for a team-defined style. Pint can also use PHP CS Fixer rules and optional Pint rules; that breadth is useful when a preset alone is not enough, but teams wanting zero setup should stick with the Laravel default.
Selective runs and checks
Pint can target chosen files or directories, check for style errors with --test without changing files, and return a non-zero exit code when it finds errors. That makes it suitable both for local cleanup and for a CI gate. The --diff option narrows work to files changed against a Git branch, and Pint can also target uncommitted changes, helping teams avoid reformatting unrelated code.
Blade and parallel formatting
Blade formatting is off by default. Enabling it uses Prettier along with Blade and Tailwind CSS plugins, and requires Node.js, so PHP-only projects can avoid the extra runtime while teams formatting Blade templates must account for it. Experimental parallel mode can use every available machine core by default or a user-set process limit; because the mode is experimental, it is less appropriate for teams that need a non-experimental processing path.
Continuous integration
Laravel documents a GitHub Actions setup that runs Pint when code is pushed to GitHub. Combined with the check mode and Git-aware targeting, this gives teams a straightforward route to enforcing style in a PHP workflow, though the documented integration is specific to GitHub Actions.
Pricing
Pint is free: the Laravel Pint plan costs nothing and covers an open-source PHP code style fixer under the MIT license. There is no paid tier or free-trial decision to weigh; the meaningful costs are operational, including meeting the PHP requirement and adding Node.js if Blade formatting is enabled.
Platforms
Pint is a PHP tool for self-hosted workflows and is associated with macOS, Linux, and Windows through WSL2. The current Packagist package requires PHP ^8.3.0 and the json, mbstring, tokenizer, and xml extensions. That runtime floor may rule it out for older PHP environments even when the project itself is otherwise ready to adopt a formatter.
Who it's for
Pint is a strong fit for Laravel developers who want an included, ready-to-run formatter, and for PHP teams that need selectable conventions, scoped runs, or a Git-aware style check. It is less compelling for developers seeking a graphical development-environment manager: Pint focuses on code formatting rather than setting up runtimes or project environments.
Pros and cons
- Pro: New Laravel applications include Pint, and the Laravel style applies without configuration, reducing adoption work for teams using that convention.
- Pro: Presets, PHP CS Fixer rules, and configurable file scope let teams fit Pint to more than one PHP style.
- Pro: Check and Git-diff modes support CI and focused formatting without rewriting unrelated files.
- Con: The current package requires PHP ^8.3.0 and four extensions, a meaningful compatibility hurdle for older runtime environments.
- Con: Blade formatting requires Node.js and additional formatter plugins, adding setup beyond the PHP-only default.
- Con: Parallel processing is experimental, so teams prioritizing a non-experimental mode may prefer not to rely on it.
Alternatives
Laravel Herd is the closer fit for someone who needs a PHP development environment: its free Herd Basic plan includes PHP, nginx, DNS, Node.js, Laravel Forge integration, and community support, while Pint addresses code formatting.
ActiveState Platform suits readers comparing a broader platform for managing development environments; its free organization plan is limited to public projects, with paid enterprise pricing by sales contact.
devenv is an option for environment management across Linux, macOS, and Windows, provided the user is willing to use Nix.
PortBay may suit a small project workflow that benefits from its free community plan, capped at six projects, two sandboxed runs, 10 MB of task attachments, and one Mac.
vfox is a free, Apache 2.0-licensed alternative for readers looking at development environment management across Linux, macOS, and Windows.
Flox offers a free personal plan with its CLI, catalog access, unlimited public environments, and three private environments; it is the better fit for users focused on managing those environments rather than PHP formatting.
FlyEnv has a free plan with three local sites, three custom projects per runtime, one Cloudflare Tunnel, and three-day trials for certain extras, making it an option for readers comparing local development environments.
GNU Guix is free software for GNU/Linux or a complete GNU system, and suits readers seeking that system-level approach rather than a focused PHP formatter.
For more choices, browse Code Formatting Tools, Development Environment Management Tools, Container Development Environments, and Development Environment Managers.
Verdict
Choose Laravel Pint if you maintain Laravel or PHP code and want a free formatter with useful preset, check, and Git-aware options. Its main reason to look elsewhere is compatibility: projects below PHP ^8.3.0 cannot use the current package, while Blade formatting also brings Node.js into the setup.