cshum

cshum/imagor

Go Apache-2.0 DevOps

Fast, secure image processing server and Go library, using libvips

4k stars
170 forks
recent
GitHub +3 / week

4k

Stars

170

Forks

3

Open issues

30

Contributors

v1.9.2 01 Jul 2026

AI Analysis

imagor is a high-performance image processing server and Go library built on libvips, offering 4-8x faster processing than ImageMagick. It specializes in server-side image transformation (resize, crop, filter, watermark, format conversion) with Docker-native deployment and Thumbor API compatibility, serving teams building scalable image infrastructure and CDN backends.

DevOps Infrastructure Discovery value: 4/10
Documentation 8/10
Activity 10/10
Community 8/10
Code quality 8/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-processing libvips go-server docker performance
Actively maintained Well documented Niche/specialized use case Production ready
Deep Analysis · Based on README and public signals
2w ago

Fast libvips-based image server built as drop-in Thumbor replacement; moderate adoption in production.

imagor is a Go-based image processing server wrapping libvips, positioned as a high-performance alternative to Thumbor. It offers HTTP API with URL-based image transforms (resize, crop, filters, format conversion), Docker deployment, and both server and library usage modes. README claims 4-8x speed over ImageMagick and benchmarks show competitive performance. Adoption appears concentrated in organizations replacing Thumbor or building new image CDN infrastructure; real-world user count not publicly documented.

Origin

Created May 2021 by cshum. Project emerged as performance-focused alternative to Thumbor (Python, slower) while libvips and imgproxy already occupied similar space. Adopted Thumbor's URL syntax to ease migration path. Includes companion project imagorvideo for video thumbnailing.

Growth

Star count grew from ~0 to 3,967 over ~5 years; gained 1 star in last 7 days. Growth appears steady but not accelerating—typical for infrastructure tooling after initial adoption plateau. Last commit June 5, 2026 suggests active maintenance. Competing projects (imgproxy: 10k, libvips: 11k, imaginary: 6k) have captured majority of star attention, but absolute star count does not reflect actual production deployment.

In production

Adoption not verified via README or public case studies. Docker Hub repo exists (shumc/imagor). Documentation site and benchmarks published, suggesting author has production deployment experience. However, no known public users, enterprise deployments, or testimonials mentioned. Adoption likely exists but is not publicly documented.

Code analysis
Architecture

Based on README: wraps libvips C library via vipsgen (custom Go bindings), implements streaming pipelines for parallel processing, HTTP server with URL-based API. Supports pluggable storage (local, cloud), various output formats, security modes (signed URLs, unsafe). Appears to prioritize throughput and low memory footprint over feature breadth.

Tests

Badge displayed showing codecov integration; README does not specify coverage percentage. CI/CD badge indicates active test pipeline.

Maintenance

Last push June 5, 2026 (22 days before evaluation date). Test workflow badge present. Docker Hub presence and docs site (docs.imagor.net) actively maintained. Commit cadence not disclosed, but recent activity suggests active, not dormant, stewardship.

Honest verdict

ADOPT IF: you need a fast image processing server drop-in for Thumbor, have Go expertise in-house, and operate in closed infrastructure (Docker/Kubernetes). AVOID IF: you require widespread community support, vendor backing, or extensive third-party integrations; imgproxy may be safer if adoption certainty matters. MONITOR IF: you're evaluating performance-critical image pipelines at scale—imagor's benchmarks are credible, but real-world deployment patterns (not just microbenchmarks) should be verified in your workload before committing.

Independent dimensions

Mainstream potential

4/10

Technical importance

7/10

Adoption evidence

3/10

Risks
  • Adoption concentration: real-world production usage not publicly documented; difficult to assess ecosystem health or community traction.
  • Maintenance bus factor: project appears to be primarily maintained by original author (cshum); no visible multi-maintainer structure or corporate backing.
  • Feature creep vs. simplicity: README emphasizes speed and security but does not clarify long-term roadmap or API stability guarantees.
  • Competitor shadow: imgproxy's 2.7x larger star count and apparent greater visibility may limit imagor's ability to attract contributors and integrations.
  • libvips version coupling: relies on libvips for security and feature updates; breaking changes in libvips could impact imagor without warning.
Prediction

imagor likely remains a viable niche tool for teams migrating from Thumbor or building image infrastructure from scratch in Go-native environments. Unlikely to become market leader; most new adoption will continue toward imgproxy due to momentum and visibility. Project sustainability depends on author's continued investment; slow star growth suggests plateau rather than decline.

0 found this helpful

Newsletter

Get analyses like this every Monday

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

Languages

Go
98.7%
HTML
0.9%
Dockerfile
0.2%
Makefile
0.2%

Information

Language
Go
License
Apache-2.0
Last updated
1w ago
Created
63mo 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

imgproxy

imgproxy/imgproxy

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

10.9k Go Media
davidbyttow

davidbyttow/govips

govips is a Go wrapper around libvips that provides fast image processing and...

1.6k Go Dev Tools
h2non

h2non/imaginary

imaginary is a lightweight, high-performance HTTP microservice for image...

6.1k Go DevOps
libvips

libvips/libvips

libvips is a high-performance, memory-efficient image processing library...

11.5k C Media
discord

discord/lilliput

Lilliput is a Go library that resizes and transcodes images (JPEG, PNG, WebP,...

2k C++ Media
vs. alternatives
imgproxy

Similar Go+libvips stack; imgproxy has ~2.7x more stars and appears to dominate market. Both are drop-in replacements for Thumbor, but imgproxy has stronger public adoption narrative.

imaginary

Also Go-based image server, ~1.5x more stars. Slightly lower-level API; imagor offers more canned filters and format conversions out-of-box.

Thumbor

Original Python reference; slow (confirmed by libvips wiki). imagor explicitly targets migration path. However, Thumbor's massive historical deployments mean many orgs stay with it rather than migrate.

libvips

Low-level C library; imagor wraps it. Direct libvips use requires more code; imagor trades flexibility for convenience and HTTP transport.

discord/lilliput

C++ image library, ~half the stars. Different positioning (library vs. server); narrower adoption surface.