30 open-source projects similar to oliver-moran/jimp, 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.
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
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
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
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
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
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
nomacs is a cross-platform image viewer application used for viewing and managing a wide variety of standard and specialized image file formats. It functions as an image processing utility, a metadata inspector, and an annotation tool. The application enables side-by-side image comparison by synchronizing zooming and panning across multiple open windows. It also provides the ability to browse and view images embedded within compressed archives or document files without manual extraction. The software includes capabilities for image metadata analysis using histograms, the addition of visual m
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
ImageGlass is a lightweight image viewer and editor designed for Windows environments. It provides a unified interface for displaying a wide range of file types, including raw camera files, vector graphics, and web formats, while offering tools for basic image transformation and metadata inspection. The application distinguishes itself through deep integration with the host operating system, including the ability to synchronize its internal viewing order with the file explorer's sorting state. It supports complex media by providing playback controls for multi-frame and animated files, allowin
SDWebImage is an asynchronous image downloader and caching library for iOS and macOS applications. It provides a core identity centered on a network utility for fetching images from URLs, a tiered memory and disk caching engine, and a processing framework for decoding and encoding media. The library features a specialized rendering engine for animated formats such as GIF and WebP, including support for progressive animation rendering. It distinguishes itself through a plugin system that allows for extended image format support and the ability to replace default loading or storage logic with c
scikit-image is a Python image processing library and scientific image analysis toolkit. It provides a framework for digital image processing and computer vision, utilizing numerical arrays for pixel-level manipulations. The library enables the quantification of image properties and the detection of visual features, such as edges and blobs. It includes tools for image segmentation and the extraction of textures and patterns to characterize objects within visual data. Capabilities cover image manipulation through color space conversion, geometric transformations, and digital restoration. It a
imutils is a computer vision utility toolkit and image processing library designed to simplify common manipulation tasks using OpenCV. It serves as an image analysis helper and geometry transformation tool for automating visual data processing. The toolkit provides specialized capabilities for maintaining image integrity during transformations, such as resizing images while preserving aspect ratios and rotating images without cropping corners. It also includes tools for four-point perspective warping to create top-down views and the extraction of topological skeletons from binary images. The
Just is a collection of JavaScript utility libraries designed for data manipulation, functional programming, performance optimization, statistical analysis, and string processing. It provides a set of tools for deep cloning, filtering, and transforming complex objects and arrays. The project is structured as a series of zero-dependency modules, allowing utilities to be used independently to minimize bundle size. It implements functional programming patterns including currying, piping, and partial application, and provides execution control through memoization, debouncing, and throttling. The
es-toolkit is a JavaScript utility library and TypeScript data transformation toolset designed as a high-performance alternative to traditional utility suites. It serves as a tree-shakable module library and a compatibility layer for those migrating from legacy dependencies by mirroring established function signatures. The project is specifically optimized for AI code generation, providing structured documentation and specialized skill sets to improve the accuracy and discoverability of its functions for AI coding assistants. Its architecture focuses on a zero-dependency core and modular expo
android-gpuimage is an OpenGL image processing library for Android that provides a GPU-powered framework for applying real-time shaders, blending layers, and processing live video streams. It functions as a real-time video filter and image blending engine to modify the luminance, vibrance, and geometry of visual content. The library enables the application of graphical effects to both static photos and live camera feeds. It supports complex image transformations, including the merging of multiple image layers through various blending modes. Capabilities cover a broad range of image manipulat
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
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
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
bcrypt.js is a portable JavaScript implementation of the bcrypt algorithm used for securely hashing and verifying user passwords. It functions as a credential security utility that protects stored passwords against brute-force attacks through the use of salts and configurable work factors. The library is designed as a pure JavaScript cryptographic module, allowing it to run in any JavaScript environment, including both server-side Node.js and client-side web browsers, without requiring native system binaries or C++ bindings. It is a zero-dependency standalone module to minimize security risks
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
ng-file-upload is an Angular directive for handling multipart file uploads and drag-and-drop selection within Angular applications. It functions as a client-side tool for validating file attributes, processing images, and generating media previews before transmission to a server. The project includes a client-side image processor for resizing, center-cropping, and correcting JPEG EXIF orientation. It also features a browser-based media previewer for images, audio, and video files, and an HTML5 File API shim to provide upload and reader functionality for legacy browsers. Additional capabiliti
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,
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
Thumbor is a dynamic image processing service and proxy server that resizes, crops, and filters images on demand via URL parameters. It functions as a URL-based image manipulator that generates specific image versions from source assets to optimize web delivery. The system includes a smart cropping engine that uses facial feature detection and computer vision to automatically center thumbnails on the most relevant visual content. To prevent unauthorized parameter tampering and malicious requests, it employs signature-based request validation and domain-based source whitelisting. Broad capabi
Graphite is a node-based visual design environment that integrates vector illustration, raster image processing, and motion graphics generation into a single platform. It utilizes a functional reactive pipeline and a data-flow execution model to propagate state changes through a graph of interconnected nodes, allowing users to construct complex, automated design workflows. The platform distinguishes itself through a context-aware evaluation engine that injects runtime metadata—such as coordinate data and loop indices—directly into the node graph. This enables the creation of procedural geomet
SVGO is a Node.js vector graphics optimizer and minifier designed to reduce the file size of SVG images. It functions as a pluggable processor that strips redundant XML elements, removes unnecessary metadata, and simplifies paths to create smaller payloads. The tool utilizes a customizable engine where image data is passed through a pipeline of programmable rules and optimization presets. This architecture allows for the integration of custom plugins to apply specialized transformation rules to vector files. The system includes a command-line interface for batch file processing and recursive
pixelmatch is a JavaScript image comparison library and pixel-level difference detector. It identifies mismatched pixels between image data arrays and quantifies the differences based on a configurable sensitivity threshold. The tool generates visual difference maps that highlight specific pixel changes for manual review. It includes a command-line interface for comparing image files and exporting the resulting difference maps to the file system. The project provides capabilities for automated image analysis and visual regression testing, utilizing anti-aliasing heuristic filtering to ignore
Color-thief-py is a Python library designed to analyze digital images for the purpose of extracting prominent color information. It functions as a computer vision tool that processes image files to identify the single most dominant color or to generate a representative color palette based on the visual composition of the source. The library utilizes the Pillow imaging library to handle diverse file formats and load image data into memory as structured pixel arrays. By mapping these pixels into a three-dimensional color space and applying median-cut quantization, the tool identifies statistica
Kingfisher is a library for downloading, caching, and displaying remote images in Swift applications. It provides an integrated framework that manages the entire lifecycle of remote assets, from initial network retrieval to final rendering within user interface components. The library distinguishes itself through a two-tiered storage mechanism that balances rapid access via volatile memory with persistent availability through disk caching. It features a modular processing pipeline that allows for dynamic image transformations, such as applying filters or geometric modifications, during the re
GPUImage2 is a Swift framework for applying real-time filters and effects to images and video using the GPU. It provides a real-time video filter library, an image geometry manipulation engine, and an OpenGL shading pipeline for processing visual data on graphics hardware. The framework enables the construction of visual effect pipelines by chaining image sources to consumers in sequential flows. It supports the development of custom fragment and vertex shaders for bespoke image processing and offers the ability to bundle these operations into reusable units via graph-based grouping. Capabil