For a bulk image optimizer, the first results are curzibn/luban (Luban is an Android library that batch-processes images with adaptive resizing and compression to reduce file sizes, matching the core batch-resize-and-compress need, though it is platform-specific and lacks a command-line interface), imagemagick/imagemagick (ImageMagick is a mature command-line suite that handles batch resizing and compression across hundreds of image formats with fine-grained quality control, making it exactly the sort of tool this search is after) and lymphatus/caesium-image-compressor (Caesium is a batch image compression tool with CLI support but does not resize images, covering only half of the resize-and-compress workflow you need). dropbox/lepton and coobird/thumbnailator round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
Command-line and graphical utilities for automating the bulk resizing and optimization of image file formats.
Luban is a memory-safe image loading and optimization library for Android. It functions as an image optimizer and compression tool designed to reduce image file sizes and resolutions while preventing application crashes through the use of pixel limits and downsampling. The project replicates the specific compression and downsampling logic used by WeChat Moments to ensure images meet social media quality standards. It uses adaptive resolution scaling and dimension-aware strategies to balance visual quality with storage efficiency. The library covers bulk image processing, format optimization,
Luban is an Android library that batch-processes images with adaptive resizing and compression to reduce file sizes, matching the core batch-resize-and-compress need, though it is platform-specific and lacks a command-line interface.
ImageMagick is a comprehensive software suite for the creation, editing, composition, and conversion of digital images. It functions as both a command-line utility for batch processing and automation, and as a programming library that allows developers to integrate advanced image manipulation capabilities into external applications. The project is distinguished by its modular architecture, which supports hundreds of image formats through a pluggable coder system and external delegate libraries. It is designed for high-performance environments, utilizing memory-mapped pixel caching, stream-ori
ImageMagick is a mature command-line suite that handles batch resizing and compression across hundreds of image formats with fine-grained quality control, making it exactly the sort of tool this search is after.
Caesium is an image compression tool that reduces file sizes for JPG, PNG, WebP, and TIFF images while preserving visual quality and metadata. It operates as a cross-platform desktop application with a graphical interface, a command-line tool for scripting and automation, and a web-based interface for browser uploads, all supporting batch processing of multiple images at once. The tool distinguishes itself by offering multiple interaction modes — desktop, terminal, and web — each capable of handling the same core compression tasks. It preserves folder structure when saving compressed images,
Caesium is a batch image compression tool with CLI support but does not resize images, covering only half of the resize-and-compress workflow you need.
Lepton is a specialized tool and file format designed for the lossless compression and efficient storage of JPEG image data. It functions as a lossless compressor and storage optimizer that reduces file sizes without altering original pixel data, ensuring bit-perfect reconstruction of the images. The project focuses on reducing disk space and network bandwidth requirements for digital image archives. It provides capabilities for both the compression and decompression of JPEG files to maintain high-quality image storage while minimizing the overall data footprint. The implementation utilizes
Lepton is a lossless JPEG compressor that reduces file size without altering pixels, but it does not resize images or offer batch processing, so it covers only the compression aspect of what you need, not the full resize-and-compress workflow.
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
Thumbnailator is a Java image-processing library for resizing and manipulating images, but it is not a standalone batch-processing command-line tool and does not explicitly include image compression, so it serves as a building block rather than the self-contained tool you need.
ImageOptim is a macOS image optimizer and GUI image compressor designed to reduce image file sizes for web and disk storage. It functions as a lossless image optimizer that removes unnecessary metadata and optimizes encoding to reduce file sizes without losing pixel data. The application handles macOS media asset management and web image preparation by shrinking files to improve website loading speeds and reduce storage usage. It provides both lossless and lossy compression options to maintain visual quality while reducing the disk space used by images.
ImageOptim is a macOS GUI image compression tool that can batch-optimize images, but it does not offer resize functionality, so it only partly addresses the need for combined batch resizing and compression.
imagemin is a Node.js image optimizer and minification tool designed to reduce the storage size of image assets. It functions as a build pipeline asset optimizer that employs both lossy and lossless compression to remove unnecessary metadata and optimize pixel data. The project uses a plugin-based architecture to extend its functionality, loading external modules that handle specific image formats and compression algorithms. This allows the tool to serve as a flexible toolkit for automating image compression within development pipelines. The system covers broad capabilities for web performan
imagemin is a Node.js-based image compression and optimization tool that reduces file size, but it lacks built-in resize functionality—you would need separate plugins to handle resizing, so it only partly meets the request for a tool that both resizes and compresses images in batch.
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
nomacs is primarily a cross-platform image viewer and metadata inspector with some editing features, but it does not present itself as a dedicated batch-processing tool for resizing and compressing multiple images at once, especially from a command line.
Guetzli is a lossy image compression tool and perceptual JPEG encoder. It converts PNG or JPEG inputs into high-density JPEG files, reducing file size by removing data that the human eye cannot easily detect. The tool utilizes human vision models to optimize the balance between file size and visual fidelity. It employs perceptual quality metrics and psychovisual similarity estimation to maintain high visual quality while maximizing compression density. The project includes a visual difference analyzer capable of generating spatial difference heatmaps and calculating scalar similarity scores.
Guetzli compresses JPEG images with high perceptual quality but does not handle batch processing or resizing, so it falls short of the batch resize-and-compress tool you need.
Compressor is an Android image compression library designed to reduce the file size and dimensions of images within mobile applications. It functions as a bitmap optimizer that adjusts image quality and formats to minimize storage footprints and improve network upload speeds. The library operates as an asynchronous image processor, utilizing background threads and reactive streams to compress high-resolution photos. This execution model prevents user interface freezes and maintains application responsiveness during heavy image manipulation tasks. The project covers a broad range of image opt
Compressor is an Android image compression library for use within mobile apps, not a standalone batch processing tool with a command-line interface for resizing and compressing multiple images in one operation.
OCRmyPDF is a tool for converting image-based PDF files into machine-readable documents by adding a searchable text layer via optical character recognition. It functions as a multi-language processor capable of detecting and extracting text in over 100 different languages using linguistic data packs. The software includes a PDF image optimizer to remove image artifacts and correct page skew to improve recognition accuracy. It also provides a converter to transform scanned documents into the PDF/A standard for long-term digital archiving. The system manages PDF optimization by compressing emb
OCRmyPDF is an OCR tool for PDFs that includes image compression and optimization, but its core purpose is adding text layers to scanned PDFs, not batch resizing and compressing standalone image files as 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
uCrop is an Android library for cropping and scaling single images within apps, not a standalone batch processing tool with command-line interface or multi-image workflow.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| curzibn/luban | 13.7K | C | Apache-2.0 | |
| imagemagick/imagemagick | 15.7K | C | other | |
| 6K |
| C++ |
| GPL-3.0 |
| dropbox/lepton | 5K | C++ | Apache-2.0 |
| coobird/thumbnailator | 5.4K | Java | MIT |
| imageoptim/imageoptim | 9.9K | HTML | GPL-2.0 |
| imagemin/imagemin | 5.7K | JavaScript | MIT |
| nomacs/nomacs | 2.8K | C++ | gpl-3.0 |
| google/guetzli | 12.9K | C++ | Apache-2.0 |
| zetbaitsu/compressor | 7.2K | Kotlin | — |