unjs

unjs/ipx

TypeScript MIT Web Dev

🖼️ High performance, secure and easy-to-use image optimizer.

2.4k stars
88 forks
recent
GitHub

2.4k

Stars

88

Forks

48

Open issues

30

Contributors

AI Analysis

IPX is a high-performance image optimizer built on sharp and svgo, designed for production use as a CDN-ready service or middleware. It serves teams needing on-demand image resizing, format conversion, and optimization—particularly those using Nuxt or deploying serverless/containerized environments. It is not a general image editor or GUI tool; it targets developers and infrastructure engineers.

Web Dev Developer Tool Discovery value: 5/10
Documentation 8/10
Activity 9/10
Community 7/10
Code quality 7/10

Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.

Overall score 8/10

AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.

image-optimization cdn sharp typescript middleware
Actively maintained Well documented MIT licensed Niche/specialized use case Production ready
Deep Analysis · Based on README and public signals
5d ago

TypeScript image optimizer built on Sharp, adopted by Nuxt and Netlify for on-demand transformations

IPX is a Node.js/TypeScript image optimization server that wraps Sharp and SVGO to provide URL-based image transformations (resizing, format conversion, etc.). It's used by Nuxt Image and has an official Netlify package, positioning it as middleware for frameworks and CDNs rather than a standalone service. Adoption appears concentrated in the Nuxt/JavaScript ecosystem.

Origin

Created in December 2017, IPX emerged as a utility within the UnJS organization. It was initially designed to provide on-demand image optimization for modern web frameworks. The project recently underwent a major restructuring (v3 to v4 migration) that changed server creation and error APIs, suggesting active refinement rather than stabilization.

Growth

Growth has been modest and steady (2,425 stars over 8+ years, 1 star in last 7 days as of 2026-06-30). The project gained visibility primarily through integration into Nuxt Image and Netlify's official adoption, rather than standalone developer discovery. Recent activity (last push 2026-06-30) shows continued maintenance but no acceleration.

In production

Adoption is verified but concentrated: explicit usage in Nuxt Image (official integration) and Netlify (published @netlify/ipx package). README states 'Used by Nuxt Image and Netlify,' providing direct evidence. Beyond these two anchors, adoption not verified in public documentation.

Code analysis
Architecture

Appears to be a modular middleware-first design supporting multiple deployment modes: standalone CLI, Express middleware, H3 handlers, and fetch handlers. Based on README, it abstracts storage (filesystem, HTTP) and applies transformations via Sharp-based modifiers (width, height, format, resize kernel, etc.) through URL-based parameter parsing.

Tests

Not documented in README. No test metrics provided.

Maintenance

Last push 2026-06-30 (6 days before analysis date) indicates active maintenance. V4 branch is marked as 'active development' with breaking API changes, suggesting ongoing refinement. However, low star velocity (1 in 7 days) and modest fork count (88) suggest the contributor base is focused rather than growing.

Honest verdict

ADOPT IF: you are building a Node.js application (Express, Nuxt, Remix, etc.) and need URL-based on-demand image optimization with caching and multi-source support. IPX integrates cleanly as middleware and is battle-tested in Nuxt and Netlify production. AVOID IF: you need a language-agnostic microservice (prefer Imgproxy or Imagor), require extensive transformation plugins beyond Sharp's capabilities, or are deploying outside Node.js. MONITOR IF: you depend on v4's breaking changes—verify your integration pattern matches the new server API before upgrading.

Independent dimensions

Mainstream potential

3/10

Technical importance

7/10

Adoption evidence

6/10

Risks
  • Adoption is concentrated in two known integrations (Nuxt, Netlify); ecosystem adoption outside Nuxt unclear.
  • V4 introduced breaking API changes; migration burden may limit adoption of newer versions.
  • Dependency on Sharp means native binary compilation required; can cause deployment friction on some platforms (serverless, edge).
  • No documented test coverage or performance benchmarks in README; technical quality inferred from Sharp + SVGO composition.
  • Modest contributor and fork activity relative to comparable projects suggests limited external contribution surface.
Prediction

IPX will likely remain a stable, well-maintained component within the Nuxt and Netlify ecosystems rather than achieve broader standalone adoption. Slow growth trajectory suggests a permanent niche rather than a path to category leadership.

0 found this helpful

Newsletter

Get analyses like this every Monday

Free weekly digest of the most interesting open-source discoveries.

Languages

TypeScript
96.1%
JavaScript
3.9%

Information

Language
TypeScript
License
MIT
Last updated
1w ago
Created
104mo ago
Analyzed with
anthropic/claude-haiku-4-5

Stars over time

Loading…

Contributors over time

Top 100 contributors only — repos with more will plateau at 100.

Loading…

Similar repos

nuxt

nuxt/image

Nuxt Image is an image optimization module specifically designed for Nuxt 3...

1.5k TypeScript Web Dev
lovell

lovell/sharp

Sharp is a high-performance Node.js image processing library that specializes...

32.4k JavaScript Media
imgproxy

imgproxy/imgproxy

imgproxy is a standalone server for on-the-fly image resizing, processing, and...

10.9k Go Media
cshum

cshum/imagor

imagor is a high-performance image processing server and Go library built on...

4k Go DevOps
image-js

image-js/image-js

image-js is a TypeScript library for image processing and manipulation in...

1.1k TypeScript Media
vs. alternatives
Sharp

Sharp (32k stars) is the underlying library IPX wraps. IPX adds HTTP/URL-based access, caching, and multi-storage abstraction; Sharp is lower-level and requires programmatic integration.

Imgproxy

Imgproxy (10.9k stars, Go) is a standalone service designed for deployment as a microservice. IPX is Node.js middleware; Imgproxy offers language-agnostic deployment but requires separate infrastructure.

Nuxt Image

Nuxt Image (1.5k stars) is a higher-level framework component that uses IPX as one backend. IPX is the infrastructure; Nuxt Image is the consumer.

Imagor

Imagor (3.9k stars, Go) is another standalone image service. Similar positioning to Imgproxy; Imagor is infrastructure-first, IPX is middleware-first.

image-js

image-js (1.1k stars) is a pure-JavaScript image manipulation library. IPX wraps Sharp (native bindings) for performance; image-js prioritizes portability over speed.