Skip to content
An image processing library written entirely in JavaScript for Node, with zero external or native dependencies.
JavaScript TypeScript HTML
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci Upgrade nearly-all dev deps (#799) Sep 24, 2019
.github Update issue templates Sep 15, 2018
packages Bump version to: 0.9.3 [skip ci] Nov 26, 2019
.editorconfig switch to 2 width (#570) Aug 26, 2018
.gitignore Add Automated Releases (#784) Sep 3, 2019
.npmignore ignore test files in publish Apr 21, 2016
.prettierIgnore Format Code with Prettier and use Stricter Linter (#464) Jul 23, 2018 Update [skip ci] Nov 26, 2019 Create Sep 15, 2018 Replace `npm` usage with `yarn` (#782) Sep 2, 2019
LICENSE Add Nimp to (#766) Aug 17, 2019
babel.config.js Fix regeneratorRuntime errors (#815) Nov 26, 2019
karma.conf.js fix automation (#825) Nov 26, 2019
lerna.json Bump version to: 0.9.3 [skip ci] Nov 26, 2019
package.json update auto (#824) Nov 26, 2019
tsconfig.json [WIP] circle ci time! (#777) Aug 17, 2019
yarn.lock update auto (#824) Nov 26, 2019


JavaScript Image Manipulation Program

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

Installation: npm install --save jimp

API documentation can be found in the main jimp package


🔨 cli - Jimp as a CLI program. Can load and run all plugins

Supported Image Types

Image Manipulation Methods (Default Plugins)

  • blit - Blit an image onto another.
  • blur - Quickly blur an image.
  • color - Various color manipulation methods.
  • contain - Contain an image within a height and width.
  • cover - Scale the image so the given width and height keeping the aspect ratio.
  • displace - Displaces the image based on a displacement map
  • dither - Apply a dither effect to an image.
  • flip - Flip an image along it's x or y axis.
  • gaussian - Hardcore blur.
  • invert - Invert an images colors
  • mask - Mask one image with another.
  • normalize - Normalize the colors in an image
  • print - Print text onto an image
  • resize - Resize an image.
  • rotate - Rotate an image.
  • scale - Uniformly scales the image by a factor.

Extra Plugins

  • circle - Creates a circle out of an image.
  • shadow - Creates a shadow on an image.
  • fisheye - Apply a fisheye effect to an image.
  • threshold - Lighten an image. Good for scanned drawing and signatures.

🚀 If you want to add your plugins to this list make a PR! 🚀

Custom Jimp

If you want to extend jimp or omit types or functions visit @jimp/custom.

  • Add file-types or switch encoder/decoders
  • Add add/remove plugins (image manipulation methods)


Basically clone, change, test, push and pull request.

Please read the CONTRIBUTING documentation.


Jimp is licensed under the MIT license. Open Sans is licensed under the Apache license

Project Using Jimp

⭐️ nimp - Node based image manipulator. Procedurally create and edit images.

⭐️ favicons - A Node.js module for generating favicons and their associated files.

⭐️ node-vibrant - Extract prominent colors from an image.

⭐️ lqip - Low Quality Image Placeholders (LQIP) Module for Node

⭐️ webpack-pwa-manifest - A webpack plugin that generates a 'manifest.json' for your Progressive Web Application, with auto icon resizing and fingerprinting support.

⭐️ wdio-screenshot - A WebdriverIO plugin. Additional commands for taking screenshots with WebdriverIO.

⭐️ asciify-image - Convert images to ASCII art

⭐️ node-sprite-generator - Generates image sprites and their spritesheets (css, stylus, sass, scss or less) from sets of images. Supports retina sprites.

⭐️ merge-img - Merge multiple images into a single image

⭐️ postcss-resemble-image - Provide a gradient fallback for an image that loosely resembles the original.

⭐️ differencify - Perceptual diffing tool

⭐️ gifwrap - A Jimp-compatible library for working with GIFs

⭐️ replace-color - Replace color with another one pixel by pixel

You can’t perform that action at this time.