PHPackages                             tatter/thumbnails - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Image &amp; Media](/categories/media)
4. /
5. tatter/thumbnails

ActiveLibrary[Image &amp; Media](/categories/media)

tatter/thumbnails
=================

Modular thumbnail generation, for CodeIgniter 4

v1.2.2(5y ago)114.5k↓33.3%3[1 PRs](https://github.com/tattersoftware/codeigniter4-thumbnails/pulls)1MITPHPPHP &gt;=7.2

Since Jul 29Pushed 2y ago3 watchersCompare

[ Source](https://github.com/tattersoftware/codeigniter4-thumbnails)[ Packagist](https://packagist.org/packages/tatter/thumbnails)[ Docs](https://github.com/tattersoftware/codeigniter4-thumbnails)[ RSS](/packages/tatter-thumbnails/feed)WikiDiscussions develop Synced 1mo ago

READMEChangelog (8)Dependencies (8)Versions (11)Used By (1)

Tatter\\Thumbnails
==================

[](#tatterthumbnails)

Modular thumbnail generation, for CodeIgniter 4

[![](https://github.com/tattersoftware/codeigniter4-thumbnails/workflows/PHPUnit/badge.svg)](https://github.com/tattersoftware/codeigniter4-thumbnails/actions/workflows/test.yml)[![](https://github.com/tattersoftware/codeigniter4-thumbnails/workflows/PHPStan/badge.svg)](https://github.com/tattersoftware/codeigniter4-thumbnails/actions/workflows/analyze.yml)[![](https://github.com/tattersoftware/codeigniter4-thumbnails/workflows/Deptrac/badge.svg)](https://github.com/tattersoftware/codeigniter4-thumbnails/actions/workflows/inspect.yml)[![Coverage Status](https://camo.githubusercontent.com/177e3c235d6641070f4c98e00d324d2e0ee65b7884b66064ad39ab99cea66697/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f6769746875622f746174746572736f6674776172652f636f646569676e69746572342d7468756d626e61696c732f62616467652e7376673f6272616e63683d646576656c6f70)](https://coveralls.io/github/tattersoftware/codeigniter4-thumbnails?branch=develop)

Quick Start
-----------

[](#quick-start)

1. Install with Composer: `> composer require tatter/thumbnails`
2. Load the service: `$thumbnails = service('thumbnails');`
3. Create your first thumbnail: `$thumbnails->create('bigfile.jpg', 'thumbnail.jpg');`

Features
--------

[](#features)

**Thumbnails** uses CodeIgniter4's native Image class for fast and efficient processing. It also checks for modular support files so it can grow to cover anything you could possibly want to thumbnail: videos, 3D assets, text documents.

Installation
------------

[](#installation)

Install easily via Composer to take advantage of CodeIgniter 4's autoloading capabilities and always be up-to-date:

```
composer require tatter/thumbnails
```

Or, install manually by downloading the source files and adding the directory to **app/Config/Autoload.php**.

Configuration (optional)
------------------------

[](#configuration-optional)

The library's default behavior can be altered by extending its config file. Copy **examples/Thumbnails.php** to **app/Config/** and follow the instructions in the comments. If no config file is found in **app/Config** the library will use its own.

Usage
-----

[](#usage)

- Load the service: `$thumbnails = service('thumbnails');`
- Use the config file to define parameters, or change them on-the-fly:

```
$thumbnails->setImageType(IMAGETYPE_PNG);
$thumbnails->setWidth(120);

```

- Use the `create()` method to write the thumbnail out to a convenient location: `$thumbnails->create('bigfile.jpg', 'thumbnail.png');`

Extending
---------

[](#extending)

The library looks across all namespaces for a **Thumbnailers/** directory and loads any supported classes it find. Each class defines the extensions it supports as well as its own `process()` method to generate the image. Add additional extension support from other modules, or write your own. Files will be processed by matching the extension to each handler's list of supported extension. You may also specify a specific handler to use by with the `setHandler(string $id)` method (see [Tatter\\Handlers](https://github.com/tattersoftware/codeigniter4-handlers)).

Contributing
------------

[](#contributing)

This library will periodically update with new supported extensions, but please feel free to submit Pull Requests with additional handlers (or bug fixes).

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity29

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor1

Top contributor holds 97.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~130 days

Recently: every ~122 days

Total

8

Last Release

1571d ago

Major Versions

v1.2.2 → v2.0.0-beta.12022-01-18

PHP version history (3 changes)v1.0.0PHP ^7.0

v1.2.0PHP &gt;=7.2

v2.0.0-beta.1PHP ^7.4 || ^8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/5ebe908b4fe73807ecdd9f88733342199c9991b7de800329f5b2b787c8210d62?d=identicon)[MGatner](/maintainers/MGatner)

---

Top Contributors

[![MGatner](https://avatars.githubusercontent.com/u/17572847?v=4)](https://github.com/MGatner "MGatner (43 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (1 commits)")

---

Tags

codeigniterimagesThumbnailsthumbscodeigniter4

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/tatter-thumbnails/health.svg)

```
[![Health](https://phpackages.com/badges/tatter-thumbnails/health.svg)](https://phpackages.com/packages/tatter-thumbnails)
```

###  Alternatives

[rosell-dk/webp-convert

Convert JPEG &amp; PNG to WebP with PHP

6038.1M54](/packages/rosell-dk-webp-convert)[99designs/phumbor

A minimal Thumbor library for PHP

1252.3M6](/packages/99designs-phumbor)[wp-media/imagify-plugin

Image optimization plugin for WordPress by WP Media.

7960.9k](/packages/wp-media-imagify-plugin)[spatie/pixelmatch-php

Compare images using PHP

5783.7k9](/packages/spatie-pixelmatch-php)[andrewgjohnson/imagettftextblur

imagettftextblur is a drop in replacement for imagettftext with added parameters to add blur, glow and shadow effects to your PHP GD images

27198.4k1](/packages/andrewgjohnson-imagettftextblur)[moc/imageoptimizer

Flow package that optimizes generated thumbnail images (jpg, png, gif, svg) for web presentation.

31106.8k](/packages/moc-imageoptimizer)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
