PHPackages                             move-elevator/typo3-image-compression - 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. move-elevator/typo3-image-compression

ActiveTypo3-cms-extension[Image &amp; Media](/categories/media)

move-elevator/typo3-image-compression
=====================================

Automatically compress images using TinyPNG API, local tools (jpegoptim, optipng, etc.), or ImageMagick/GraphicsMagick

1.0.2(4w ago)02.9k↓21.4%1GPL-2.0-or-laterPHPPHP ~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0CI failing

Since Dec 5Pushed 1w agoCompare

[ Source](https://github.com/move-elevator/typo3-image-compression)[ Packagist](https://packagist.org/packages/move-elevator/typo3-image-compression)[ Docs](https://github.com/move-elevator/typo3-image-compression)[ RSS](/packages/move-elevator-typo3-image-compression/feed)WikiDiscussions main Synced yesterday

READMEChangelog (3)Dependencies (47)Versions (10)Used By (0)

[![Extension icon](Resources/Public/Icons/Extension.png)](Resources/Public/Icons/Extension.png)

TYPO3 extension `typo3_image_compression`
=========================================

[](#typo3-extension-typo3_image_compression)

[![Latest Stable Version](https://camo.githubusercontent.com/a146e7c17bf1b650840ce3eb217add24c45d3518e273335bafb78a28cf7266fe/68747470733a2f2f7479706f332d6261646765732e6465762f62616467652f7479706f335f696d6167655f636f6d7072657373696f6e2f76657273696f6e2f736869656c64732e737667)](https://extensions.typo3.org/extension/typo3_image_compression)[![Supported TYPO3 versions](https://camo.githubusercontent.com/9be803ee161e6cf29dc1ac0efb74dbca46425235244625779b122624368abb63/68747470733a2f2f7479706f332d6261646765732e6465762f62616467652f7479706f335f696d6167655f636f6d7072657373696f6e2f7479706f332f736869656c64732e737667)](https://extensions.typo3.org/extension/typo3_image_compression)[![Coverage](https://camo.githubusercontent.com/666d3a38e09e653c3c24b534c5d0694d178a62c0995485e44e16bc502b1ea3ab/68747470733a2f2f696d672e736869656c64732e696f2f636f766572616c6c73436f7665726167652f6769746875622f6d6f76652d656c657661746f722f7479706f332d696d6167652d636f6d7072657373696f6e3f6c6f676f3d636f766572616c6c73)](https://coveralls.io/github/move-elevator/typo3-image-compression)[![CGL](https://camo.githubusercontent.com/7e135a63af01f43c7d3a5aed8fd73d486af2abd38b9ff5d962508c30ad4389b1/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6d6f76652d656c657661746f722f7479706f332d696d6167652d636f6d7072657373696f6e2f63676c2e796d6c3f6c6162656c3d63676c266c6f676f3d676974687562)](https://github.com/move-elevator/typo3-image-compression/actions/workflows/cgl.yml)[![Tests](https://camo.githubusercontent.com/ae9f78db25dbb3ad58764258aab068d019def36fbea10dd70806dd7a168688e8/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6d6f76652d656c657661746f722f7479706f332d696d6167652d636f6d7072657373696f6e2f74657374732e796d6c3f6c6162656c3d7465737473266c6f676f3d676974687562)](https://github.com/move-elevator/typo3-image-compression/actions/workflows/tests.yml)[![Packagist](https://camo.githubusercontent.com/fbb6f421450653b41a0a44eb10226e6654c700e1fbaaa1a81cc3549d9fae9dbc/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6d6f76652d656c657661746f722f7479706f332d696d6167652d636f6d7072657373696f6e3f6c6162656c3d7061636b6167697374266c6f676f3d7061636b6167697374)](https://packagist.org/packages/move-elevator/typo3-image-compression)[![License](https://camo.githubusercontent.com/bb4041d31248685449345438fc68ad00408495e94291eedce52b8d83b286252f/68747470733a2f2f706f7365722e707567782e6f72672f6d6f76652d656c657661746f722f7479706f332d696d6167652d636f6d7072657373696f6e2f6c6963656e7365)](LICENSE.md)

This TYPO3 extension automatically compresses images uploaded to the TYPO3 backend. Choose between the TinyPNG API for best results or local tools for cost-free compression.

✨ Features
----------

[](#-features)

- **Multiple compression providers**: TinyPNG API, local optimized tools, or ImageMagick/GraphicsMagick
- Automatic compression of JPG, PNG, GIF, AVIF and WebP images on upload
- CLI command for batch processing existing images
- Configurable quality settings for local compression
- Image compression statistics in the system information toolbar
- Compression status visible in sys\_file\_metadata edit view
- System report with per-provider statistics in Admin Tools

🔥 Installation
--------------

[](#-installation)

**Requirements:** TYPO3 &gt;= 12.4 · PHP 8.2+

### Composer

[](#composer)

```
composer require move-elevator/typo3-image-compression
```

### TER

[](#ter)

[![TER version](https://camo.githubusercontent.com/a146e7c17bf1b650840ce3eb217add24c45d3518e273335bafb78a28cf7266fe/68747470733a2f2f7479706f332d6261646765732e6465762f62616467652f7479706f335f696d6167655f636f6d7072657373696f6e2f76657273696f6e2f736869656c64732e737667)](https://extensions.typo3.org/extension/typo3_image_compression)[![TER downloads](https://camo.githubusercontent.com/1ea24846910d3367b5426ec5dd7f1d70740fa68df58c43954b8b95ca21f2d32b/68747470733a2f2f7479706f332d6261646765732e6465762f62616467652f7479706f335f696d6167655f636f6d7072657373696f6e2f646f776e6c6f6164732f736869656c64732e737667)](https://extensions.typo3.org/extension/typo3_image_compression)

Download the zip file from the [TYPO3 Extension Repository (TER)](https://extensions.typo3.org/extension/typo3_image_compression).

⚙️ Configuration
----------------

[](#️-configuration)

Configure the extension in **Admin Tools &gt; Settings &gt; Extension Configuration**.

### Provider overview

[](#provider-overview)

ProviderToolsCompressionCostBest for`tinify`TinyPNG API~70–80%API quotaProduction, best quality`local-tools`jpegoptim, optipng, pngquant, gifsicle, cwebp~50–60%FreeSelf-hosted, no API costs`local-basic`ImageMagick / GraphicsMagick~30–40%FreeJPEG only, quick setup### `tinify` (TinyPNG API)

[](#tinify-tinypng-api)

1. Register at [TinyPNG Developers](https://tinypng.com/developers) to obtain your API key.
2. Set **Provider** to `tinify` and enter your API key.
3. Free tier: **500 compressions/month** — upgrades available via the [TinyPNG dashboard](https://tinypng.com/dashboard).

Warning

The free API limit (500 compressions/month) can be exhausted quickly on large sites with many existing images. Use the CLI `--include-processed` flag with caution.

### `local-tools` (Optimized tools)

[](#local-tools-optimized-tools)

Install the required tools on your server:

```
# Debian/Ubuntu
apt install jpegoptim optipng pngquant gifsicle webp

# macOS (Homebrew)
brew install jpegoptim optipng pngquant gifsicle webp
```

Set **Provider** to `local-tools`. The extension auto-detects available tools.

### `local-basic` (ImageMagick / GraphicsMagick)

[](#local-basic-imagemagick--graphicsmagick)

No additional installation needed — uses TYPO3's configured graphics processor. Set **Provider** to `local-basic`.

### Quality settings

[](#quality-settings)

For local providers, configure quality (1–100) for JPEG, PNG, and WebP compression independently.

💡 Usage
-------

[](#-usage)

### Automatic compression

[](#automatic-compression)

Once configured, all images with a supported MIME type uploaded via the TYPO3 backend are automatically compressed.

### Batch processing (CLI)

[](#batch-processing-cli)

Use the CLI command to compress images that were uploaded before the extension was installed.

Important

Before running the CLI command, ensure your TYPO3 file index is up to date. Run the scheduler task **"File Abstraction Layer: Update storage index"** first.

```
# Compress up to 100 original images (default)
vendor/bin/typo3 imagecompression:compressImages

# Compress up to 50 images
vendor/bin/typo3 imagecompression:compressImages 50

# Also compress processed files (thumbnails, crops, etc.)
vendor/bin/typo3 imagecompression:compressImages --include-processed

# Retry failed compressions
vendor/bin/typo3 imagecompression:compressImages --retry-errors

# Combine options
vendor/bin/typo3 imagecompression:compressImages 200 --include-processed --retry-errors
```

Argument / OptionDescription`limit`Number of images to process (default: 100)`--include-processed`, `-p`Also compress processed files (thumbnails, crops). Omit to save API quota — processed files are regenerated from already-compressed originals.`--retry-errors`, `-r`Retry compression for files that previously failed. Clears error status on success.Tip

When using the `tinify` provider, omit `--include-processed` to conserve your monthly API quota. Processed files are regenerated from the already-compressed originals anyway.

### Backend integration

[](#backend-integration)

- **System information toolbar** — displays current API usage (TinyPNG) or compression statistics.
- **System Reports** (`Admin Tools > System Reports`) — active provider, per-file-type statistics, and API usage.
- **File metadata** (`sys_file_metadata`) — per-file compression status and error messages.

🙏 Acknowledgments
-----------------

[](#-acknowledgments)

This project is a fork and further development of the great [tinyimg](https://github.com/schmitzal/tinyimg) extension.

🧑‍💻 Contributing
----------------

[](#‍-contributing)

Please refer to [`CONTRIBUTING.md`](CONTRIBUTING.md).

📜 License
---------

[](#-license)

This project is licensed under the [GNU General Public License 2.0 (or later)](LICENSE.md).

###  Health Score

50

—

FairBetter than 95% of packages

Maintenance97

Actively maintained with recent releases

Popularity23

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 84.5% 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 ~91 days

Total

3

Last Release

28d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/f71257bb4db7f3adcabdc7d93e0f84c00aa50689b1411976b57f6a57ed7b6b2e?d=identicon)[move-elevator](/maintainers/move-elevator)

---

Top Contributors

[![konradmichalik](https://avatars.githubusercontent.com/u/4558190?v=4)](https://github.com/konradmichalik "konradmichalik (71 commits)")[![Mainbird](https://avatars.githubusercontent.com/u/16002519?v=4)](https://github.com/Mainbird "Mainbird (12 commits)")[![revoltek-daniel](https://avatars.githubusercontent.com/u/5931272?v=4)](https://github.com/revoltek-daniel "revoltek-daniel (1 commits)")

---

Tags

image-compressiontinifytypo3typo3-extensionimageImageMagickcompressionoptimizationtypo3typo3-extensiontinypngjpegoptim

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/move-elevator-typo3-image-compression/health.svg)

```
[![Health](https://phpackages.com/badges/move-elevator-typo3-image-compression/health.svg)](https://phpackages.com/packages/move-elevator-typo3-image-compression)
```

###  Alternatives

[friendsoftypo3/content-blocks

TYPO3 CMS Content Blocks - Content Types API | Define reusable components via YAML

103519.9k53](/packages/friendsoftypo3-content-blocks)[pagemachine/typo3-formlog

Form log for TYPO3

23238.6k8](/packages/pagemachine-typo3-formlog)[eliashaeussler/typo3-form-consent

Extension for TYPO3 CMS that adds double opt-in functionality to EXT:form

1595.5k](/packages/eliashaeussler-typo3-form-consent)[eliashaeussler/typo3-warming

Warming - Warms up Frontend caches based on an XML sitemap. Cache warmup can be triggered via TYPO3 backend or using a console command. Supports multiple languages and custom crawler implementations.

22260.2k](/packages/eliashaeussler-typo3-warming)[pagemachine/searchable

TYPO3 extension to index and search content with Elasticsearch

1039.9k](/packages/pagemachine-searchable)[netresearch/rte-ckeditor-image

Image support in CKEditor for the TYPO3 ecosystem - by Netresearch

611.1M8](/packages/netresearch-rte-ckeditor-image)

PHPackages © 2026

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