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].
See [[overview/what-is-libvips]] for a detailed description of libvips' demand-driven architecture, performance benchmarks, and supported formats. 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]. Production image-processing servers such as Imagor and PhotoPrism are built on libvips, and PhotoPrism made libvips mandatory in 2026[^c17][^c18]. Mastodon dropped ImageMagick and made libvips a required dependency in version 4.6.0[^c10]. libvips 8.18 added UltraHDR images[^c16], camera RAW formats via libraw[^c15], and Oklab colourspaces.
A WebAssembly port, wasm-vips, enables libvips image processing inside web browsers[^c13]. WordPress 7.0 adopted wasm-vips for its client-side media feature, offloading thumbnail generation from the server to browser worker threads and reducing server CPU usage by an estimated 80% during media uploads[^c14].