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 encoders to modify the core image processing logic and optimize bundle size.
The library covers a broad range of image manipulation capabilities, including geometric transformations such as resizing, cropping, and rotation. It also provides tools for color profile management, color quantization, image blending, and the application of visual effects like blurring and dithering, as well as the ability to draw text overlays.
It supports multi-format I/O handling for reading and saving image data across formats including JPEG, PNG, WebP, AVIF, GIF, BMP, and TIFF.