# calibreapp/image-actions

A Github Action that automatically compresses JPEGs, PNGs, WebPs & AVIFs in Pull Requests.

Repository: https://github.com/calibreapp/image-actions
Canonical: https://ross.abutalabs.com/products/image-actions
Homepage: https://calibreapp.com/blog/compress-images-in-prs
Language: TypeScript
License: GPL-3.0
License Family: copyleft
Topics: compression, github-action, performance, performance-monitoring, performance-testing, image-processing, image-compression, github-actions
Last push: 2026-08-10T23:36:30+00:00

## Health v2 (maintenance only)
Score: 93/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 97, release rhythm 84, longevity 100
- inputs: {"age_days": 2696, "days_push": 23, "days_rel": 107, "gap_med": 6.5, "n_releases_24m": 5}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1574, forks 77 (observed 2026-08-28T04:05:05.789448+00:00)

## What it is
A GitHub Action that automatically compresses JPEG, PNG, WebP, and AVIF images added or changed in Pull Requests, committing optimized versions back to the branch. It uses libvips (via sharp) for near-lossless compression and supports configurable quality settings, scheduled runs, and GitHub Enterprise.

## Use cases
- automatically compress images in pull requests
- optimize jpegs and pngs committed to a repo
- prevent unoptimized images from being shipped
- reduce page weight from large imagery
- run image compression on a schedule across a repository
- enforce image optimization in ci

## When to choose
- your repo contains many raster images that contributors update
- you want zero-config automatic image optimization in GitHub workflows
- you need compression for JPEG, PNG, WebP, and AVIF in CI
- you use GitHub (including Enterprise) and want PR-based automation

## When to avoid
- you need SVG or other vector image optimization
- you don't use GitHub Actions for CI
- you need a standalone local image compression CLI rather than a GitHub bot
- your workflow requires committing to fork PRs, which it skips

## Facets
- artifact type: plugin
- maturity: active
- function: image-processing, compression, ci-cd, developer-tools
- domain: web-development, performance, developer-tools
- platform: cloud
- tags: github-action, image-compression, web-performance, pull-request-automation, libvips, sharp, automation, nodejs

## Member repositories
- calibreapp/image-actions (main) score 93

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:05.789448+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:57:38.777690+00:00, confidence not recorded.
  - readme: https://github.com/calibreapp/image-actions (fetched 2026-08-28T04:05:05.789448+00:00, sha 622eda5d8239)
  - homepage: https://calibreapp.com/blog/compress-images-in-prs (fetched 2026-08-29T11:27:58.049279+00:00, sha cf1974ea0c3e)
  - site_page: https://calibreapp.com/docs (fetched 2026-08-29T11:27:58.058507+00:00, sha 589c9f0bb634)
  - site_page: https://calibreapp.com/about (fetched 2026-08-29T11:27:58.065177+00:00, sha be0e0c913871)
  - site_page: https://calibreapp.com/docs/automation/node (fetched 2026-08-29T11:27:58.068698+00:00, sha a790c5bf5e32)
  - site_page: https://calibreapp.com/changelog (fetched 2026-08-29T11:27:58.060607+00:00, sha 2f6431303c04)
  - site_page: https://calibreapp.com/pricing (fetched 2026-08-29T11:27:58.063327+00:00, sha 38bffe335cb7)
- Data as of 2026-08-30T08:39:29.467469+00:00.
