A static analysis tool for finding errors in PHP applications





Installs: 1 194 999

Dependents: 745

Suggesters: 12

Security: 0

Stars: 2 689

Watchers: 70

Forks: 210

Open Issues: 136

3.8.3 2020-01-15 03:46 UTC

This package is auto-updated.

Last update: 2020-01-24 03:26:59 UTC


Packagist Packagist Travis CI Coverage Status Psalm coverage

Psalm is a static analysis tool for finding errors in PHP applications, built on top of PHP Parser.

It's able to find a large number of issues, but it can also be configured to only care about a small subset of those.

Try a live demo, or install it in your project by following the Quickstart Guide below.

Psalm documentation

Documentation is available on Psalm’s website, generated from the docs folder.

Quickstart Guide

Install via Composer:

composer require --dev vimeo/psalm

Add a config:

./vendor/bin/psalm --init

Then run Psalm:


The config created above will show you all issues in your code, but will emit INFO issues (as opposed to ERROR) for certain common trivial code problems. If you want a more lenient config, you can specify the level with

./vendor/bin/psalm --init [source_dir] [level]

You can also learn how to suppress certain issues.

How Psalm Works

A basic rundown of Psalm’s internals can be found in docs/


The engineering team @vimeo for encouragement and patience, especially @nbeliard, @erunion and @nickyr.