PHPackages                             eleven-miles/iris - 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. eleven-miles/iris

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

eleven-miles/iris
=================

A PHP WordPress package that converts images to webP on upload; by default.

v2.0.1(2y ago)23.0k[1 PRs](https://github.com/Eleven-Miles/iris/pulls)MITPHPPHP &gt;=7.4

Since Aug 22Pushed 2y ago3 watchersCompare

[ Source](https://github.com/Eleven-Miles/iris)[ Packagist](https://packagist.org/packages/eleven-miles/iris)[ RSS](/packages/eleven-miles-iris/feed)WikiDiscussions master Synced today

READMEChangelog (8)DependenciesVersions (16)Used By (0)

Eleven Miles: Iris
==================

[](#eleven-miles-iris)

Requirements
------------

[](#requirements)

This package can be used with WordPress 5.8 and forward, due to WebP support being introduced. This package enables servers to directly process and convert JPEG or PNG files on upload as well as bulk and single image conversions via WP CLI.

Setup
-----

[](#setup)

This package is installed using Composer.

Run `composer require eleven-miles/iris` to install.

CLI Commands
------------

[](#cli-commands)

### Bulk Conversion

[](#bulk-conversion)

Use `wp iris` to run a full media library conversion. This will run through all JPG and PNG attachments and convert them to webp. This process uses Action Scheduler to queue up each conversion and wait until each is complete to progress.

### Single Conversion

[](#single-conversion)

Use `wp iris-id $id` to run a single image conversion. This command takes an attachment ID as an argument and then runs a webp conversion on the single image.

Dependancies
------------

[](#dependancies)

Iris requires the two following plugins to be installed and activated.

### Action Scheduler

[](#action-scheduler)

Iris uses [Action Scheduler](https://actionscheduler.org/usage/) to run webp convertion at scheduled intervals. This functionality helps when converting media libraies, and when images are uploaded in bulk. The GD image processing can have memory issues when bulk uploading images and return failed conversion. Action Scheduler helps to ensure that all images are converted by queuing up the conversions.

### Offload Media

[](#offload-media)

Iris uses [Offload Media](https://deliciousbrains.com/wp-offload-media/) to store converted images in the cloud. During the Iris process the following Offload method - `Media_Library_Item::get_by_source_id` - is used to check if the attachement exists in the relevant storage system (eg AWS S3 bucket).

Debugging
---------

[](#debugging)

For debugging: `Debug::debug($image_meta);`

###  Health Score

30

—

LowBetter than 62% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity23

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~57 days

Recently: every ~35 days

Total

9

Last Release

955d ago

Major Versions

v1.1.3 → v2.02023-10-30

### Community

Maintainers

![](https://www.gravatar.com/avatar/8d165dc4e785a667b83bbbe50b3f64547e428c5c7088cb5573900b6bc106ae0c?d=identicon)[harryfinn](/maintainers/harryfinn)

![](https://www.gravatar.com/avatar/69675bbe4bb2bffa2762f30e2dc952ec90cf085a5ff9db0762d5ec9f742673c8?d=identicon)[joelouisworthington](/maintainers/joelouisworthington)

![](https://www.gravatar.com/avatar/37cd6b7d28106a8a13c337320fbcfd203eec2b4ddd31d1df0cc0989a7aa5ec58?d=identicon)[calumbutchart](/maintainers/calumbutchart)

![](https://avatars.githubusercontent.com/u/39808457?v=4)[aimeehaines](/maintainers/aimeehaines)[@aimeehaines](https://github.com/aimeehaines)

![](https://avatars.githubusercontent.com/u/163648484?v=4)[Selçuk Yüksel](/maintainers/elevenmiles)[@elevenMiles](https://github.com/elevenMiles)

---

Top Contributors

[![joelouisworthington](https://avatars.githubusercontent.com/u/13175830?v=4)](https://github.com/joelouisworthington "joelouisworthington (8 commits)")

---

Tags

webpwordpress

### Embed Badge

![Health badge](/badges/eleven-miles-iris/health.svg)

```
[![Health](https://phpackages.com/badges/eleven-miles-iris/health.svg)](https://phpackages.com/packages/eleven-miles-iris)
```

###  Alternatives

[char0n/ffmpeg-php

PHP wrapper for FFmpeg application

495240.6k1](/packages/char0n-ffmpeg-php)[goat1000/svggraph

Generates SVG graphs

135911.1k3](/packages/goat1000-svggraph)[gravatarphp/gravatar

Gravatar URL builder which is most commonly called as a Gravatar library

16653.6k2](/packages/gravatarphp-gravatar)[rsoury/wp-imgix

Rewrites WordPress image URLs to use ImgIX

167.2k](/packages/rsoury-wp-imgix)

PHPackages © 2026

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