oxipng VS sharp

Compare oxipng vs sharp and see what are their differences.


Multithreaded PNG optimizer written in Rust (by shssoichiro)


High performance Node.js image processing, the fastest module to resize JPEG, PNG, WebP, AVIF and TIFF images. Uses the libvips library. (by lovell)
Our great sponsors
  • SonarQube - Static code analysis for 29 languages.
  • Scout APM - Less time debugging, more time building
  • SaaSHub - Software Alternatives and Reviews
oxipng sharp
8 59
1,621 22,906
- -
4.4 9.1
about 1 month ago 10 days ago
Rust JavaScript
MIT License Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.


Posts with mentions or reviews of oxipng. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-06-14.


Posts with mentions or reviews of sharp. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-08-03.
  • best way to generate image on server
    2 projects | reddit.com/r/webdev | 3 Aug 2022
    Some popular Node.js libraries for manipulating images are node-canvas and sharp.
  • simple-img microfrontend
    2 projects | dev.to | 26 Jul 2022
    Using sharp we can easily apply many common transformations to any image, including watermarking! Vercel's Edge network helps ensure we cache the result and a slight tweak to MicroFrontendRegistry via the MicroFrontendRegistry.url() method will give us a URL to request the image transformation so that it can be leveraged in img tags as well.
  • How does github-readme-stats work?
    3 projects | reddit.com/r/webdev | 11 Jul 2022
    For writing text on images (like PNG or JPEG) I would use jimp or sharp. jimp is easier if all you want to do is add text on image with custom font.
  • Preferred WEBP image quality/compression amount
    3 projects | reddit.com/r/webdev | 24 Jun 2022
  • I need a package that reduces photo quality in nodejs (Cloud Function)
    1 project | reddit.com/r/Firebase | 31 May 2022
    Other than what u/loradan said, there is Sharp that I've used before in a cloud function. It might be heavyweight for your purposes, since it does a lot more than just image resizing, but it can still do exactly what you'd want.
  • Payload, a Dev-First TypeScript Headless CMS, is now Free and Open-Source
    1 project | reddit.com/r/webdev | 28 May 2022
    Regarding a cropping tool, this could be done using a plugin and a custom component. However, I would support putting a feature like that into the core. We already use sharp internally and crop with a default cropping of center. If you'd like to, I'd say head over to our GitHub Discussions and submit a feature request, and we can hash out some details there.
  • Need to mass compress gifs
    2 projects | reddit.com/r/web_design | 9 May 2022
    If you have some Node and command line experience, check out Sharp. It’s an amazingly powerful image optimization tool used as the backbone of many image optimization services/apps.
  • Learn How to Use Lambda Layers by Building an Image Resize Function Using Sharp
    2 projects | dev.to | 4 May 2022
    Lambda Layer is a true gem in the Lambda function realm. It provides a convenient way to package your libraries and other dependencies that can be used with the Lambda functions. Our open-source project, Webiny which has 50k+ downloads and 5.5k stars on GitHub uses Lambda layers. It helps us reduce our Lambda function size by 12 MB and enable us to share the image processing library sharp across all the Webiny deployments.
  • Amazing preview images with Next.js and LQIP Modern
    3 projects | dev.to | 2 May 2022
    Firstly, let us install lqip-modern, and sharp. Sharp is an awesome package that helps with image transformations and is used by lqip-modern -
  • What is AVIF?
    6 projects | dev.to | 26 Apr 2022
    The Alliance for Open Media's AVIF encoding and decoding library is also in a Github repo. Sharp, a Node module, has AVIF support. To make AVIF images, you can use avif.io, Squoosh, and the Squoosh command line tool aimed at supporting Node.js apps. GIMP and Paint.net support AVIF and there are Photoshop plugins. Mac has no plans to support AVIF, but you can easily install a codec plugin on Windows 10 for native support.

What are some alternatives?

When comparing oxipng and sharp you can also consider the following projects:

jimp - An image processing library written entirely in JavaScript for Node, with zero external or native dependencies.

gm - GraphicsMagick for node

squoosh - Make images smaller using best-in-class codecs, right in the browser.

Next.js - The React Framework

pica - Resize image in browser with high quality and high speed

sharp-libvips - Packaging scripts to prebuild libvips and its dependencies - you're probably looking for https://github.com/lovell/sharp

lwip - Light Weight Image Processor for NodeJS

ImageOptim - GUI image optimizer for Mac

libvips - A fast image processing library with low memory needs.

sveltekit-image-plugin - SvelteKit demo code for using vite-imagetools to add cached, responsive, Next-Gen images to a SvelteKit site with no cumulative layout shift.

probe-image-size - Get image size without full download. Supported image types: JPG, GIF, PNG, WebP, BMP, TIFF, SVG, PSD, ICO.