finds.dev← search

// the find

lovell/sharp

★ 32,747 · JavaScript · Apache-2.0 · updated Oct 2026

High performance Node.js image processing, the fastest module to resize JPEG, PNG, WebP, AVIF and TIFF images. Uses the libvips library.

sharp is the standard Node.js library for server-side image processing — resizing, format conversion, cropping, compositing — built on top of libvips instead of a JS-only decoder. It's for anyone running an upload pipeline, thumbnail generator, or CDN origin that needs to transform images fast without shelling out to ImageMagick.

It's actually faster, not just marketing-faster — libvips' streaming, pipelined architecture means low memory use even on huge images, not just a quick benchmark win. Prebuilt native binaries ship for basically every platform/arch combo (darwin-arm64, linux-musl, win32-arm64, wasm32, even webcontainers), so most installs skip compiling from source entirely. Color handling is correct, not approximate — ICC profiles, EXIF orientation, and alpha channels are preserved through the pipeline instead of silently flattened, which is where cheaper libraries usually cut corners. The API is fully typed and stream-compatible, so it drops into an existing pipe-based upload handler without rewriting the data flow.

It's still a native dependency — if your target platform/arch isn't in the prebuilt list, you're compiling against libvips from source, and that's a recurring source of pain in Alpine containers and some serverless runtimes. There's no built-in concurrency control; nothing stops a naive implementation from running a dozen large resizes in parallel on a request thread and pegging CPU. SVG input is rasterized through libvips' renderer, not a browser-grade engine, so complex SVGs with filters or unusual CSS can render differently than expected. Upgrades are riskier than typical npm bumps because the libvips version is coupled to the sharp release — a minor version bump can mean a different native binary and subtly different output, so pin versions and actually test image output before upgrading in production.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →