Image manipulation library for Laravel 4 based on Imagine and inspired by Croppa for easy url based manipulation

dev-main 2021-04-14 18:43 UTC

This package is auto-updated.

Last update: 2024-05-11 01:36:14 UTC


Laravel Image is an image manipulation package for Laravel 4 and 5 based on the PHP Imagine library. It is inspired by Croppa as it can use specially formatted urls to do the manipulations. It supports basic image manipulations such as resize, crop, rotation, flip and effects such as negative, grayscale, gamma, colorize and blur. You can also define custom filters for greater flexibility. This library works with the local filesystem and Laravel Filesystems (Amazon S3, etc...).

Latest Stable Version
Build Status
Coverage Status
Total Downloads


The main difference between this package and other image manipulation libraries is that you can use parameters directly in the url to manipulate the image. A manipulated version of the image is then saved in the same path as the original image, creating a static version of the file and bypassing Laravel for future requests (this behaviour can be disabled).

For example, if you have an image at this URL:


To create a 300x300 version of this image in black and white, you use the URL:


To help you generate the URL to an image, you can use the Image::url() method

Image::url('/uploads/photo.jpg', 300, 300, ['crop', 'grayscale']);


<img src="<?=Image::url('/uploads/photo.jpg', 300, 300, ['crop', 'grayscale']))?>" />

Alternatively, you can programmatically manipulate images using the Image::make() method. It supports all the same options as the Image::url() method.

Image::make('/uploads/photo.jpg', [
    'width' => 300,
    'height' => 300,
    'grayscale' => true

or use directly the Imagine library

$thumbnail = Image::open('/uploads/photo.jpg')
            ->thumbnail(new Imagine\Image\Box(300, 300));




Based on Imagine

This package use Imagine for image manipulation. Imagine is compatible with GD2, Imagick, Gmagick and supports a lot of features.

Multiple Sources

You can define multiple sources for your images. Both locally and in the cloud (via Laravel filesystems).


This package also provides some build-in filters ready to use (more on Filters):

  • Resize
  • Crop (with position)
  • Rotation
  • Black and white
  • Invert
  • Gamma
  • Blur
  • Colorization
  • Interlace


Version Compatibility

Laravel 7 and up


Server Requirements:


1- Require the package via Composer.

$ composer require folklore/laravel-image

2- Add the service provider to your app/config/app.php file


3- Add the facade to your app/config/app.php file

'Image' => Folklore\Image\Facade::class,

4- Publish the configuration file and public files

$ php artisan vendor:publish --provider="Folklore\Image\ServiceProvider"

5- Review the configuration file at config/image.php



Here are some features we would like to add in the future. Feel free to collaborate and improve this library.

  • Artisan command to manipulate images
  • Support for batch operations on multiple files