A promise-based library for circular cropping images. This package can create several sizes of the same image and save them to disk. Using any method of your choice, you could upload the files to S3 after processing is complete.

Usage no npm install needed!

<script type="module">
  import sgnlCircleImage from 'https://cdn.skypack.dev/@sgnl/circle-image';




Pull request and issues tracked here: https://github.com/eenewbsauce/circle-image


Official home on NPM: https://www.npmjs.com/package/circle-image

Install Dependencies

circle-image is based on ImageMagick. You can install it one of the following ways:

On Ubuntu

$ apt-get install ImageMagick

On Mac OS X

$ brew install ImageMagick

On CentOS

$ yum install ImageMagick


npm install circle-image --save


Make sure you have a folder called "uploads" in the root of your node application (ie: app.js). The image (imagepath) dimensions need to be larger than the biggest size specified in imageSizes below.

var images = require('circle-image');
var imageSizes = [125, 100, 30];
//uniqueId param is used to identify a user
//so use the primary key or something guaranteed to be unique
images.execute('imagepath', uniqueId, imageSizes).then(function (paths) {
  //array of circularized image paths
  console.log(paths[0]); //circle_user_{uniqueId}_125.png