For a library for image processing in Rust, the first results are image-rs/image (This library is a comprehensive, native Rust toolkit that provides the core image processing primitives, format support, and color space conversion capabilities required for high-performance image manipulation), pistondevelopers/image (This library is a native Rust implementation that provides comprehensive support for image decoding, encoding, color space conversion, and pixel-level manipulation, making it a flagship tool for high-performance image processing) and silvia-odwyer/photon (Photon is a high-performance, native Rust image processing library that provides a comprehensive suite of manipulation primitives, color space conversion, and format support, making it a direct match for your requirements). imazen/imageflow and libjxl/libjxl round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
We curate open-source GitHub repositories matching “best rust image processing libraries”. Results are ranked by relevance to your query — pick filters below to narrow, or refine with AI.
This is a Rust image processing library designed for encoding and decoding various image file formats and manipulating pixels. It provides a digital image manipulation toolkit and a set of image format codecs to read data from files and write memory buffers into standard formats. The library features a pure-Rust processing pipeline to ensure memory safety and cross-platform compatibility. It includes a pluggable hook system for dynamic format registration, allowing external crates to register custom decoders and encoders at runtime. The capability surface covers geometry manipulation for res
This library is a comprehensive, native Rust toolkit that provides the core image processing primitives, format support, and color space conversion capabilities required for high-performance image manipulation.
This project is an image processing library designed for manipulating pixel data, applying visual filters, and adjusting image appearance. It functions as a low-level tool for processing raw pixel buffers and managing image data. The library provides a toolkit for image geometry manipulation, including resizing, cropping, flipping, and rotating images. It also serves as an image format converter for encoding and decoding data between common binary file formats and as a metadata extractor for retrieving dimensions and color profiles from file headers. The capabilities cover low-level image pr
This library is a native Rust implementation that provides comprehensive support for image decoding, encoding, color space conversion, and pixel-level manipulation, making it a flagship tool for high-performance image processing.
Photon is a high-performance image processing library written in Rust. It serves as a pixel manipulation toolkit and image format transcoder, providing a WebAssembly graphics engine for executing visual effects and transformations directly within web browsers. The project is built around a functional image pipeline, which allows for the programmatic chaining of sequential transformation operations. This architecture supports the creation of complex visual effects through a coded pipeline. The library covers a wide range of image processing capabilities, including color management across mult
Photon is a high-performance, native Rust image processing library that provides a comprehensive suite of manipulation primitives, color space conversion, and format support, making it a direct match for your requirements.
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
Imageflow is a high-performance image processing engine written in Rust that provides the core manipulation primitives, color space management, and format support required for complex image transformation tasks.
libjxl is an open-source library for encoding and decoding images in the JPEG XL format. It provides the core codec functionality needed to compress source images into JPEG XL and decompress JPEG XL files back into common raster image representations. The library supports adjustable quality, distance, and effort settings during encoding, and handles conversion between different color spaces during encode or decode operations. It also enables reading and writing of embedded metadata such as EXIF, XMP, and color profiles. For performance, libjxl includes benchmarking tools for decode speed and
This is a specialized C++ codec library for the JPEG XL format rather than a general-purpose image processing library, though it provides some color space conversion and encoding primitives.
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
This is a standalone image viewer application rather than a library for developers to integrate into their own projects, and it is implemented in C++ rather than Rust.
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
This is a Python library that relies on Pillow for image handling rather than being a native Rust image processing library, making it a tool for color extraction rather than a general-purpose manipulation framework.
PINRemoteImage is an image downloading and caching framework for iOS. It functions as a remote image loader and multi-threaded manager designed to fetch images from URLs and render them into user interfaces. The project includes specialized decoders for rendering GIF and Animated WebP formats. It also features a progressive JPG renderer that displays scans with blur effects to improve perceived loading speed on slow connections. The library manages concurrent download tasks with request deduplication and utilizes a hybrid memory and disk caching system. It handles high-resolution asset scali
This is an iOS-specific image downloading and caching framework written in Objective-C, which serves as a client-side utility rather than a high-performance image processing library for the Rust ecosystem.
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
This is a standalone Windows image viewer application rather than a library for developers, and it is written in C# rather than Rust.
Caire is a command-line image processing engine designed for content-aware resizing and batch manipulation. It utilizes seam carving algorithms to adjust image dimensions by identifying and removing low-energy pixels, allowing for the rescaling of images while preserving primary visual subjects and maintaining aspect ratios. The tool distinguishes itself through its ability to protect specific visual elements, such as human faces, from distortion during the resizing process. Users can apply custom binary masks to define regions for protection or forced removal, and the engine provides real-ti
This is a command-line application for content-aware image resizing rather than a library for general-purpose image manipulation, and it is implemented in Go instead of Rust.
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
This is a Python utility toolkit that wraps OpenCV for computer vision tasks rather than a native Rust image processing library, making it a secondary helper tool rather than the core implementation requested.
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
This is an Android-specific UI component library for image cropping and manipulation, rather than a general-purpose, high-performance image processing library for the Rust ecosystem.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| image-rs/image | 5.8K | Rust | Apache-2.0 | |
| pistondevelopers/image | 5.8K | Rust | Apache-2.0 | |
| 3.9K |
| Rust |
| Apache-2.0 |
| imazen/imageflow | 4.4K | Rust | AGPL-3.0 |
| libjxl/libjxl | 3.4K | C++ | bsd-3-clause |
| nomacs/nomacs | 2.8K | C++ | gpl-3.0 |
| fengsp/color-thief-py | 1.1K | Python | NOASSERTION |
| pinterest/pinremoteimage | 4K | Objective-C | Apache-2.0 |
| d2phap/imageglass | 12.2K | C# | other |
| esimov/caire | 10.5K | Go | mit |