Build Status Coverity Status

libvips is a demand-driven, horizontally threaded image processing library. Compared to similar libraries, libvips runs quickly and uses little memory. The download area has the source code plus pre-compiled binaries for Windows. You can install on macOS with homebrew, MacPorts or Fink, and it’s available in most Linux package managers, see the install notes. libvips is licensed under the LGPL 2.1+.

It has around 300 operations covering arithmetic, histograms, convolution, morphological operations, frequency filtering, colour, resampling, statistics and others. It supports a large range of numeric formats, from 8-bit int to 128-bit complex. Images can have any number of bands. It supports a good range of image formats, including JPEG, TIFF, OME-TIFF, PNG, WebP, FITS, Matlab, OpenEXR, PDF, SVG, HDR, PPM, CSV, GIF, Analyze, DeepZoom, and OpenSlide. It can also load images via ImageMagick or GraphicsMagick, letting it load formats like DICOM.

It comes with bindings for C, C++, Python and the command-line. Full bindings are available for Ruby, PHP, Go, and Lua. libvips is used as an image processing engine by sharp (on node.js), bimg, sharp for Go, carrierwave-vips, mediawiki, PhotoFlow and others. The official libvips GUI is nip2, a strange combination of a spreadsheet and an photo editor.