3 ms·
Sharp: High performance Node.js image processing/optimization
- Daiz 10mo agoBeen using (and occasionally contributing to) Sharp for quite a while, both professionally and personally. Great library to have at hand when you need to deal with images.
- bhouston 10mo agoIt is an amazing library! Been using it for years. It is used in a number of projects I've created including https://benhouston3d.com https://benhouston3d.com and https://threekit.com https://threekit.com for auto image resizing, format conversion and optimization.
- pupppet 10mo agoBeen using this forever in CloudFront behaviors to auto-resize images. Thanks for the work, Sharp!
- giorgioz 10mo agoInteresting! Can you tell me more how you use CloudFront (cache) behaviours with sharp?
- pupppet 10mo agoLots of ways to do this but generally you attach a Lambda function to an origin response. If the path meets specific conditions (is 404/403, contains specific query string param) then run the Lambda function. So imagine if you have: original.jpg Then just return it from the origin. But imagine if you have original.jpg?size=150 Run the Lambda function (in this case a Sharp resize function) on the original.jpg file and return it. It'll get cached so the next time someone calls original.jpg?size=150 it just return the 150px width image without running any function as there was never a need to hit the origin.
- pestkranker 10mo agoWe're doing the same! The Lambda function also has an authentication layer, so we can protect user-uploaded assets.
- 8n4vidtmkvmk 10mo agoGood library. API can be a bit quirky. Like if you want to read image size before and/or after a resize or if you do or don't want to respect the image orientation/rotation in the image meta data. I usually have to convert to a buffer and then back to Sharp again for it to reload the changes but it works!
- ejoebstl 10mo agoSharp is great. Used it at projects at scale and it never let me down.
- ahurmazda 10mo agoAlso worth mentioning libvips[0] the underlying engine behind sharp. We use the golang wrapper at work and love the simplicity and speed (ofc) [0]https://github.com/libvips/libvips https://github.com/libvips/libvips
- jcupitt 10mo agolibvips, the library behind sharp, has just released version 8.18.0: https://www.libvips.org/2025/12/04/What's-new-in-8.18.html https://www.libvips.org/2025/12/04/What's-new-in-8.18.html It includes support for UltraHDR (HDR and SDR in one JPEG file), camera RAW images, and the Oklab colourspace. This should all be coming to sharp in the next six month or so.