libvips
libvips is a free and open-source, portable 2D image processing library that runs quickly and uses little memory compared to similar libraries[^c1]. It is distributed under the LGPL 2.1+ license and is free for commercial use[^c2]. The library is particularly suited for handling very large images and automatically parallelises workflows across multi-core processors[^c3].
The library uses a demand-driven, horizontally-threaded architecture in which images are processed in small tiles rather than loaded entirely into memory[^c4]. Pixels are computed only when requested, which allows pipelines of operations to run with minimal memory and near-linear scaling across CPU cores[^c5]. libvips supports numeric formats from 8-bit integer to 128-bit complex and provides approximately 300 image processing operations[^c2][^c6]. For security-sensitive deployments, the VIPS_BLOCK_UNTRUSTED environment variable restricts processing to security-audited format handlers at runtime[^c11].
The project originated from the VASARI European research project that began in 1989, which required an image processing system capable of handling gigabyte-sized scans of old master paintings on hardware with limited memory[^c7]. libvips is used by major organisations including Amazon, Booking.com, the New York Times, and Wikipedia, and serves as the engine behind the Sharp Node.js module and the default image processor in Ruby on Rails[^c3][^c8][^c9]. Mastodon, the decentralised social media platform, dropped ImageMagick and made libvips a required dependency in version 4.6.0[^c10].