A Lightweight Javascript Library For Zooming / Enlarging Images | Zoom.js

Smooth Zoom is a lightweight javascript library for enlarging images like Medium, and Google Photos, which displays images at a large size just like you saw it on Medium.com.


  • Smooth transitions.
  • Automatically adjust the background color based on the average color of the image.
  • Zoom in on the high-resolution picture provided.

How to make use of it:

1. Install the package deal.

# Yarn
$ yarn add smooth-zoom

$ npm i smooth-zoom

2. Import the Zoom.js as an ES module.

import Zoom from "smooth-zoom";

3. Directly load the JavaScript file from a CND.

<script src="https://cdn.jsdelivr.net/npm/smooth-zoom/dist/zoom.browser.js"></script>

4. Initialize the library on target pictures and complete them.

<img src="1.jpg" class="zoomable" alt="Image Alt" />

5. Determine the background colour of the picture.

  background: "auto"

6. Replace the picture supply when the picture is opened.

  originalizer: (src) => src.replace(/-[0-9]+\.jpg/, ".jpg"),
backgroundstringrgba(0, 0, 0, 0.95)Image’s background color.
Use auto to get the average color of the image
useMaximumSizebooleantrueFind the longest width through the image’s natural width and srcset attribute
onClick(img: HTMLImageElement) => voidundefinedA function that fires on click. Note that IMG is the original image element.
onTransitionEnd(img: HTMLImageElement) => voidundefinedA function that fires after zoom animation. Note that the image is cloned image element.

Tiny Smooth Image Zoom Library Inspired By Medium.com, Smooth Zoom Plugin/Github

See Demo And Download

Official Website(marshall-ku): Click Here

This superior jQuery/javascript plugin is developed by marshall-ku. For extra Advanced usage, please go to the official website.

Related Posts


Confetti Falling Animation Effect In JavaScript | party.js

Party.js is a JavaScript library to brighten user site experience with visual effects! Celebrate success with dom confetti! The library is written in TypeScript and compiled into…


Simple jQuery Cookie Consent Plugin

jquery.cookie-consent is a simple jQuery plugin to request consent to use cookies. An easy-to-use and highly customizable cookie consent bar that informs your visitors of the use…


Timepicker JavaScript Plugin for jQuery Inspired by Google Calendar

jquery.timepicker is a lightweight jQuery timer plugin inspired by Google Calendar. It supports both mouse and keyboard navigation and weighs 5.5KB minified and compact. Features: Highly customizable…


A Lightweight, Touchable, and Responsive Angular Universal Carousel Library

ngxCarousel is a lightweight, tactile, and responsive library for creating an angular carousel. No dependencies, no more hammer. Must Read: Angular Responsive Image Slider With Lightbox Popup…


First Mobile Full-screen Modal Popup Library For Vue

Vue full-page modal is a responsive, mobile-compatible, screen-friendly pop-up library for Vue.js. Must Read: Modal Component Is Written in Vanilla JS | ensemble Modal How to make…


Generate a Random Number Picker In Vanilla JavaScript

Random Number Picker is a Vanilla JS-based number picker that allows you to generate a random number within a specified range. Must Read: Generating Lottery Numbers Using…