30 open-source projects similar to thumbor/thumbor, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
Imaginary is a self-hosted HTTP server for image processing that applies transformations like resizing, cropping, rotating, and format conversion through URL parameters. It operates as a stateless request-response pipeline, processing images fetched from remote URLs or served from a local directory without requiring client-side dependencies. The server distinguishes itself through its security and access control capabilities, offering optional API key validation, HMAC-signed URL verification, and remote origin whitelisting to restrict which image sources are permitted. It also provides a heal
ImageSharp is a .NET image processing library and manipulation framework used for decoding, encoding, and modifying digital images. It functions as a comprehensive toolkit for resizing, cropping, and applying pixel-level filters while managing color profiles and pixel data across various file formats. The project integrates a 2D vector graphics engine and a typography rendering engine to draw geometric shapes, paths, and complex stylized text onto images. It also includes a geometry boolean operation library for calculating intersections, unions, and differences between complex polygons and c
smartcrop.js is a JavaScript image processing tool and library designed for content-aware image cropping. It provides a face-aware cropping algorithm that calculates optimal crop coordinates to preserve the most important visual content within an image. The project prioritizes human faces to ensure people remain the central focus of the crop. It utilizes a content-aware approach to determine the best coordinates for a target width and height, allowing for dynamic resizing across different screen sizes and aspect ratios. The toolset includes a command line interface for automating the resizin
Jimp is a zero-dependency JavaScript image processing library and programmatic editor designed for manipulating, resizing, and filtering images in Node.js. It functions as a multi-format image encoder and extensible pipeline that operates entirely in JavaScript to ensure portable deployment across different environments without requiring native system dependencies. The engine features a modular architecture that allows for custom image processor builds and the registration of custom processing plugins. This extensibility enables the addition of specific visual effects and custom file-type enc
Paperclip is an ActiveRecord file attachment manager that links database models to files stored on local disks or cloud storage. It functions as a system for managing file attachments, a fingerprinting system for detecting duplicates and verifying integrity, and a MIME type validator to ensure uploaded files match allowed formats. The project features an image processing pipeline that uses command-line utilities to automatically generate thumbnails and scaled versions of images based on predefined dimensions. It also provides S3 compatible file storage for managing attachments in Amazon S3 an
Bild is an image processing library implemented in the Go programming language. It provides a collection of algorithmic engines for image manipulation, including a convolution kernel engine for filtering, an image blending tool for layer composition, and a procedural noise generator for creating synthetic textures. The project is distinguished by its procedural generation capabilities, implementing Perlin, Gaussian, binary, and uniform noise algorithms to produce random pixel distributions and organic patterns. It also features a command-line interface that allows users to apply visual effect
AlamofireImage is an image downloading and caching library designed as an extension for Alamofire. It provides a serialization framework to convert network responses into image objects and a memory-based caching system to reduce redundant network requests. The project features a variant-aware asynchronous cache that stores both original images and their filtered versions separately. It includes tools for animating the replacement of placeholder images with downloaded content through various transition effects. The library covers image acquisition through parallel downloading and prioritized
Sharp is a high-performance image processing library for Node.js. It serves as a native extension and wrapper for the libvips framework, providing tools for image resizing, format conversion, and programmatic data manipulation. The project enables the transformation of images into web-friendly formats such as WebP and AVIF while preserving color profiles and alpha channels. It also provides capabilities for generating blank image buffers with specified dimensions and background colors. The library covers a broad range of image manipulation utilities, including rotation, extraction, compositi
Imageflow is a high-performance image manipulation library and composition engine available as a C-compatible library, a command-line image processor, and a dynamic image processing server. It provides the means to decode, encode, and apply complex visual transformations to images through programmatic interfaces, JSON job files, or on-the-fly URL query strings. The system distinguishes itself through a graph-based processing pipeline that allows for single-pass multi-format encoding, generating multiple image sizes and formats from a single decode to reduce overhead. It further features a res
Thumbnailator is a Java image thumbnailing library designed for generating resized images with aspect ratio preservation and high-quality scaling. It serves as a toolkit for rotating, cropping, and adjusting the opacity of images within Java applications. The library is distinguished by its ability to function as an Exif-aware image processor, automatically rotating thumbnails based on embedded orientation metadata. It also provides specialized utilities for digital watermarking, allowing secondary images and branding markers to be overlaid with adjustable transparency. Core capabilities cov
uCrop is an Android library designed for cropping, rotating, and scaling images within mobile applications. It provides a reusable interface component that allows users to manipulate photos through touch gestures, enabling precise control over visual composition and aspect ratios. The library distinguishes itself by offering extensive customization of the editing interface, allowing developers to adjust colors, frame shapes, and widget visibility to align with specific application design languages. It handles image processing tasks by managing quality, compression formats, and output dimensio
Intervention Image is a PHP image processing library designed for editing and manipulating image assets. It functions as an abstraction layer that provides a simplified interface for performing programmatic visual adjustments and compositions. The project utilizes a driver-based architecture that allows for switching between different underlying image processing engines without requiring changes to the application logic. This abstraction extends to the handling of animated image formats, enabling the manipulation of frames and properties across various processing drivers. The library covers
CarrierWave is a Ruby file upload library used to manage the uploading, storing, and retrieval of files within web frameworks such as Rails and Sinatra. It functions as an Active Record file manager that associates uploaded assets with database records. The project includes an image processing pipeline for generating thumbnails and derivative versions of uploaded images. It also features a file validation engine to restrict uploads based on allowlists or denylists of extensions and content types, and provides cloud storage integration to manage assets on remote providers. The library covers
opencv4nodejs is a set of JavaScript wrappers and a C++ native addon that provides Node.js bindings for the OpenCV library. It functions as a computer vision library and image processing framework, exposing high-performance C++ algorithms to a JavaScript environment. The project enables the execution of vision algorithms for detecting faces, tracking objects, and analyzing visual data using deep neural networks. It includes capabilities for data pattern classification, text pattern recognition, and the identification of facial landmarks and gestures. The framework covers a broad capability s
This project is an open-source visual dataset and machine learning image library. It provides large-scale collections of high-quality photos and metadata designed for training computer vision models and conducting research into image categorization and retrieval. The repository specifically offers semantic search datasets that pair images with AI and human-generated keywords to analyze search intent and visual metaphors. It also serves as an image metadata archive, providing structured EXIF data and camera specifications for technical analysis. The available data covers broad capability area
This project is a modular image manipulation framework and processing pipeline library designed for Ruby applications. It provides a programmable interface for executing complex image transformations, including resizing, cropping, rotating, and compositing, while managing file input and output parameters. The library distinguishes itself through a fluent, chainable interface that allows developers to construct sophisticated processing workflows by linking modular operations together. It functions as an image transformation engine that delegates heavy lifting to external native binary tools, e
Jimp is a JavaScript image processing library and Node.js manipulation tool designed to perform image transformations and edits entirely within a JavaScript environment. It is a zero-dependency image library that operates without requiring native binaries or external system software dependencies. The project provides a programmatic interface for automated image transformations, including resizing, cropping, and filtering. It supports the creation of custom image pipelines and server-side image editing by processing data without relying on native system tools.
Cropper is a JavaScript image cropping library and HTML5 canvas image editor. It serves as a web-based image manipulation tool that allows users to visually select and trim specific areas of an image directly within a browser. The library provides a visual interface for defining precise crop areas with configurable aspect ratios and zoom controls. It includes tools to rotate, scale, and zoom images to align subjects before exporting the final result. The tool handles browser-based image processing by generating a canvas element from a selected image area for use or download. It manages crop
Imageproxy is a Go-based image proxy server that fetches, resizes, and caches remote images. It functions as a secure gateway for delivering external image assets, providing dynamic image resizing and transformation via URL parameters. The server implements security controls to prevent proxy abuse and unauthorized hotlinking. These include request signature verification using HMAC, allow-list based source filtering for remote hosts, and referrer restrictions. It also utilizes MIME-type content filtering to ensure only supported file formats are processed. The project includes a caching layer
RapidRAW is a non-destructive RAW photo editor and digital asset manager designed for decoding manufacturer RAW formats and applying tonal and color adjustments. It functions as a professional image processor that ensures original source data remains unmodified by saving all edits, masks, and crops to sidecar files. The software features a specialized color grading suite using 3D LUTs, color wheels, and HSL mixers, alongside AI-powered utilities for subject isolation, automatic masking, and generative inpainting for object removal. It distinguishes itself with AI-assisted photo retouching and
Masuit.Tools is a comprehensive static utility library for .NET and ASP.NET Core development. It provides a broad collection of reusable helper methods and infrastructure components that cover common programming tasks without requiring dependency injection or instance management. The library is organized as flat utility classes, making its functionality directly accessible from anywhere in a project. The toolkit distinguishes itself through a wide range of integrated capabilities that go beyond typical utility libraries. It includes a multithreaded range-request file downloader with pause and
JavSP is a media library organizer and video metadata scraper designed to sort and categorize video files. It extracts identifiers from filenames to aggregate media information from online sources and generates standardized NFO metadata files compatible with media servers. The utility features automated cover art processing that fetches high-definition images and crops non-standard posters into consistent dimensions. It also includes a multilingual metadata translator to convert video titles and summaries into different target languages. The system provides capabilities for media library org
GoCV is a computer vision library and Go language binding for OpenCV. It serves as an image processing toolkit and deep learning inference engine, providing programmatic access to a wide range of algorithms for image manipulation, object detection, and video analysis. The project differentiates itself through high-performance native bindings and hardware acceleration. It utilizes a foreign function interface to map Go calls to C++ functions and includes a hardware-agnostic backend dispatch to route neural network tasks to computation engines such as CUDA and OpenVINO. The library covers a br
jsQR is a JavaScript library for locating and decoding QR codes directly within a browser or Node.js environment. It functions as a client-side scanner and decoder that extracts text and data from images using pixel arrays, removing the need for server-side processing. The library provides tools for QR code localization to identify the exact coordinates of corners and alignment patterns within a larger image. It uses image pattern recognition to isolate the QR code and extract its encoded content. Its internal operations cover binarization-based thresholding, geometric pattern localization,
Imagor is a high-performance image processing server and Go library that functions as an on-demand image proxy. It provides a secure transformation API for resizing, filtering, and optimizing images, as well as a tool for generating static thumbnails from video files. The system distinguishes itself by using a demand-driven processing engine to handle large images without loading entire files into memory. It features cryptographic request signing to prevent unauthorized URL tampering and employs header-based format negotiation to automatically serve the most efficient image format supported b
Pillow is a Python image processing library and digital image manipulation toolkit used for opening, manipulating, and saving various image file formats. It serves as a multi-format image codec wrapper that enables the reading and writing of diverse standards such as JPEG, PNG, TIFF, and BMP. The library provides tools for programmatic image manipulation, including resizing, cropping, rotating, and transforming visual content through direct pixel data modification. It supports pixel data analysis to extract and modify raw information for custom visual processing and data transformations. The
GPUImage is a GPU-accelerated image processing framework for iOS designed to apply real-time filters and effects to images and video. It functions as a processing engine and fragment shader library that manages textures and shaders for efficient visual data manipulation. The framework utilizes a chainable filter architecture and a texture-based data pipeline to pass image data between processing stages without expensive memory transfers. It enables the creation of bespoke visual effects through the authoring of custom fragment shaders and provides mechanisms to synchronize texture data with e
gm is a JavaScript image processing library and Node.js manipulation tool that serves as a programmatic wrapper for the GraphicsMagick engine. It translates JavaScript method calls into shell commands to automate the resizing, cropping, and transformation of images. The library provides an interface to execute specific GraphicsMagick operations while allowing raw command passthrough for custom arguments or engine features not covered by the standard API. Its capabilities cover geometric manipulation, color and tone adjustment, and image quality optimization. It includes tools for image compo
Imaging is a Go library for image processing that provides a set of functions for common image manipulation tasks. It offers capabilities for adjusting image colors, applying convolution filters, blurring, cropping, resizing, sharpening, and correcting orientation based on EXIF data. The library supports resizing images to exact dimensions or bounding boxes with aspect ratio preservation and configurable resampling filters. Color adjustments include gamma, contrast, brightness, and saturation controls, while blurring and sharpening use Gaussian-based algorithms with configurable sigma paramet
Grav is a flat-file content management system that eliminates the need for a traditional database by storing site content and configuration in human-readable Markdown and YAML files. Built as a modular PHP web framework, it uses a hierarchical page routing system where the physical directory structure directly determines the site's URL paths. The platform is distinguished by its event-driven plugin architecture and a command-line interface that prioritizes system administration, deployment, and maintenance tasks. It utilizes a blueprint-driven system to generate administrative forms from stru