Sharp is a high-performance image processing library for Node.js that converts images in common formats to web-friendly outputs.
The tool solves the problem of slow image processing in Node.js applications by wrapping libvips, a C library optimized for image manipulation. Resizing operations run 4x to 5x faster than ImageMagick or GraphicsMagick at their quickest settings. The library handles colour spaces, embedded ICC profiles, and alpha transparency channels correctly, and uses Lanczos resampling to maintain image quality despite the speed gains. Beyond resizing, it supports rotation, extraction, compositing, and gamma correction.
Sharp works with JPEG, PNG, WebP, GIF, AVIF, and TIFF formats. It runs on Node.js, Deno, and Bun through Node-API support. Most modern macOS, Windows, and Linux systems require no additional dependencies or runtime installation. Choose this tool if your application needs to process images at scale on the server side, particularly for web optimization workflows where speed and output quality both matter. The typical use case is converting large images to smaller, web-friendly variants of varying dimensions.
The project maintains a detailed documentation site covering installation, API reference, and performance benchmarks. It provides a contributor guide for bug reports, feature requests, and code submissions. Development activity shows consistent engagement with the codebase and responsiveness to the community around image processing needs in Node.js environments.