← coderrocketfuel.com

Convert PNG to JPG or JPG to PNG With Node.js & Jimp

Do you need to convert JPG images to a PNG format? Or a PNG image to a JPG format? This article will walk you through how to do that quickly and easily using Node.js and the Jimp NPM package.

Jimp is an image processing library written in JavaScript with zero native dependencies. It allows you to do a ton of cool stuff with images in an easy manner.

Let's get started!

Table of Contents

Install Jimp NPM Package

First, you need to install the NPM package. You can install it with either the NPM or Yarn command below:

NPM:

npm install jimp --save

Yarn:

yarn add jimp

Now we're ready to start writing some code and converting images!

Convert JPG to PNG

Let's convert a .jpg file to a .png format first. Make sure you have a .jpg file in the root of your project directory that you want to convert to a .png.

Here's the full code:

const Jimp = require("jimp")

Jimp.read("image.jpg", function (err, image) {
  if (err) {
    console.log(err)
  } else {
    image.write("new-image.png")
  }
})

Let's break down each part of the code:

  1. First, we import the jimp NPM package and hold it in the Jimp variable.
  2. Then, we use the Jimp.read() function to process the image into something we can work with. We pass the path of the image.jpg file to the function. And the function returns a promise with an error (if it exists) and an image to work with.
  3. We do some error handling inside the callback function.
  4. Then, we write the new new-image.png file to the current directory with the image.write() function.

Make sense? Cool! Let's move onto the next example in the next section.

Convert PNG to JPG

Now let's convert a .png file to a .jpg format. Make sure you have a .png file in the root of your project directory that you want to convert to a .jpg.

Here's the full code:

const Jimp = require("jimp")

Jimp.read("image.png", function (err, image) {
  if (err) {
    console.log(err)
  } else {
    image.write("new-image.jpg")
  }
})

Here's the break down for each part of the code:

  1. First, we import the jimp NPM package and hold it in the Jimp variable.
  2. Then, we use the Jimp.read() function to process the image into something we can work with. We pass the path of the image.png file to the function. And the function returns a promise with an error (if it exists) and an image to work with.
  3. We do some error handling inside the callback function.
  4. Then, we write the new new-image.jpg file to the current directory with the image.write() function.

Now you know how to convert back and forth between .png and .jpg files using Node.js and Jimp!