Native PHP GIF Encoder/Decoder

3.0.0-alpha.3 2022-06-21 08:11 UTC

This package is auto-updated.

Last update: 2023-01-21 09:20:18 UTC


Native PHP GIF Encoder/Decoder.

Latest Version build Monthly Downloads


You can install this package easily with Composer.

Just require the package with the following command:

$ composer require intervention/gif



use Intervention\Gif\Decoder;

// Decode filepath to Intervention\Gif\GifDataStream::class
$gif = Decoder::decode('/images/animation.gif');

// Decoder can also handle binary content directly
$gif = Decoder::decode($contents);


Use the Builder class to create a new GIF image.

use Intervention\Gif\Builder;

// create an empty canvas
$width = 32;
$height = 32;
$loops = 0; // 0 for unlimited repetitions

// create new gif with width/height and optional
// number of repetitions of animation
$gif = Builder::canvas($width, $height, $loops);

// add animation frames to canvas
$delay = .25; // delay in seconds after next frame is displayed
$left = 0; // position offset (left)
$top = 0; // position offset (top)

// add animation frames with optional delay in seconds
// and optional position offset for each frame
$gif->addFrame('/images/frame01.gif', $delay, $left, $top);
$gif->addFrame('/images/frame02.gif', $delay, $left);
$gif->addFrame('/images/frame03.gif', $delay);

// encode
$data = $gif->encode();


Intervention Gif is licensed under the MIT License.

Copyright 2020 Oliver Vogel