Packages
We've created more than 500 packages for Laravel and PHP. These packages have been downloaded a whopping 1.77 billion times! All packages
laravel-backup
A package to backup your Laravel app
laravel-health
Check the health of your Laravel app
laravel-medialibrary
Associate files with Eloquent models
laravel-query-builder
Easily build Eloquent queries from API requests
simple-excel
Read and write simple Excel and CSV files
Favorite packages
from our team
We've asked some of our colleagues about their favorite packages and why they enjoy them.
simple-excel
The name says it all, it makes exporting and importing Excel & CSV files simple. Every project needs some kind of importing or exporting, this package just makes it a breeze.

phpunit-snapshot-assertions
I love playing with off-beat ways to make tests more readable and joyful to write. Snapshot testing was popularized by Jest to test UI components. I thought it would be a great fit for testing large data, so I wrote a PHPUnit package to bring it to PHP.

laravel-sluggable
It was the first Spatie package I've ever added to one of my composer.json files. At that time, I wasn't working for Spatie yet, but I loved the idea of such a simple package. It has only one use case: take the field of an Eloquent model and make a slug from it so that the model can be queried with that slug. The docs are excellent, and the API is easy to use. It is the perfect example of a terrific Spatie package. And it, in the end, made me start working at Spatie.

All
packages
laravel-permission
Associate users with roles and permissions
laravel-medialibrary
Associate files with Eloquent models
laravel-backup
A package to backup your Laravel app
laravel-activitylog
Log activity inside your Laravel app
browsershot
Convert HTML to an image, PDF or string
laravel-query-builder
Easily build Eloquent queries from API requests
laravel-analytics
A Laravel package to retrieve pageviews and other data from Google Analytics
image-optimizer
Easily optimize images using PHP
async
Easily run code asynchronously