lightgallery.js alternatives and similar libraries
Based on the "Modals and Popups" category.
Alternatively, view lightgallery.js alternatives based on common mentions on social networks and blogs.
-
sweetalert2
✨ A beautiful, responsive, highly customizable and accessible (WAI-ARIA) replacement for JavaScript's popup boxes. Zero dependencies. 🇺🇦 -
fancyBox
DISCONTINUED. jQuery lightbox script for displaying images, videos and more. Touch enabled, responsive and fully customizable. -
Bootbox
Wrappers for JavaScript alert(), confirm() and other flexible dialogs using Twitter's bootstrap framework -
GLightbox
Pure Javascript lightbox with mobile support. It can handle images, videos with autoplay, inline content and iframes -
jBox
jBox is a jQuery plugin that makes it easy to create customizable tooltips, modal windows, image galleries and more. -
🦞 Modali
A delightful modal dialog component for React, built from the ground up to support React Hooks. -
hColumns
DISCONTINUED. jQuery.hColumns is a jQuery plugin that looks like Mac OS X Finder's column view for the hierarchical data. -
F$D€
F$D€ - Client not paid? Add opacity to the body tag and increase it every day until their site completely fades away -
ModalSquared.js
DISCONTINUED. ModalSquared.js is a super small less than a 1kb library for showing and hiding modals.
SaaSHub - Software Alternatives and Reviews
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of lightgallery.js or a related project?
README
lightgallery.js
Full featured JavaScript lightbox gallery. No dependencies.
Important notice
- lightgallery.js has been merged with lightGallery. That means, v2 of lightgallery.js is https://www.lightgalleryjs.com/. if you have a lightgallery.js license, this is valid for lightGallery as well. But, since version 2.0 you need to pass the license key as a plugin option. If you alredy have a license, please contact me at [email protected] for the license key
- Completely re-wrote from scratch in typescript
- Moved all modules to the main repo for better maintainability.
- Dropped IE 8 and 9 support. Let me know if you still need support for IE 8 and 9. I’ll consider adding a plugin to add support if there is enough demand.
- Website
- Docs
- Demos
Any questions, ideas, suggestions about v2? please start a discussion.
New features
- Pinch to zoom
- Virtual slides
- Swipe to close
- Zoom from the origin
- Inline gallery
- Next-generation image formats support(webp, JPEG XL). etc
- Better customizability
- Better performance on mobile devices.
- Dynamically add, remove slides while the gallery is open
- Comment interface
- and much more.
How to upgrade
To make the upgrade seamless, v2 follows the API structure as much as possible. But, few settings are removed and a lot of additional settings are added, the way we use public methods is changed slightly and few events are renamed.
Initialization V2 doesn’t require jQuery as a dependancy.
lightGallery(document.getElementById('lightgallery'), {
plugins: [lgZoom, lgThumbnail,]
speed: 500
... other settings
});
Plugins To avoid polluting global scope, since v2 plugins has to be passed via settings.
lightGallery(document.getElementById(‘’lightgallery), {

plugins: [lgZoom, lgAutoplay, lgComment, lgFullscreen , lgHash, lgPager, lgRotate, lgShare, lgThumbnail, lgVideo]

});
- Removed in-built support for Dailymotion VK. We Will be adding separate plugins for DailyMotion and VK support
- Added Wistia support
- HTML videos - Videos can be passed via data-video attribute instead of passing it via hidden div
HTML data-video='{"source": [{"src":"/videos/video1.mp4", "type":"video/mp4"}], "attributes": {"preload": false, "controls": true}}'
- Events are renamed - Please take a look at the documentation
- Few settings are added, removed, or renamed.
Rather than listing down all the changes here, I’d recommend going through the current settings that you are using and compare them with the new documentation.
Main features
- Fully responsive.
- Modular architecture with built in plugins.
- Touch support for mobile devices.
- Mouse drag supports for desktops.
- Double-click/Double-tap to see actual size of the image.
- Animated thumbnails.
- Social media sharing.
- YouTube, Vimeo, Dailymotion, VK and HTML5 video support.
- 20+ Hardware-Accelerated CSS3 transitions.
- Dynamic mode.
- Full screen support.
- Supports zoom.
- Browser history API.
- Responsive images.
- HTML iframe support.
- Multiple instances on one page.
- Easily customizable via CSS (SCSS) and Settings.
- Smart image preloading and code optimization.
- Keyboard Navigation for desktop.
- Font icon support.
- Rotate, flip images.
- Accessibility support.
- And many more.
Browser support
lightgallery supports all major browsers including IE 9 and above.
Installation
Install with NPM
You can install lightgallery.js
using the npm package manager.
npm install lightgallery.js
You can also find lightgallery.js
on Yarn and Bower.
Yarn
yarn add lightgallery.js
Bower
bower install lightgallery.js --save
CDN
http://www.jsdelivr.com/projects/lightgallery.js
Download from GitHub
You can also directly download lightgallery from GitHub.
Include CSS and JavaScript files
First of all add lightgallery.css in the <head>
of the document.
<head>
<link rel="stylesheet" href="css/lightgallery.css">
</head>
Then include lightgallery.min.js
into your document.
If you want to include any lightgallery plugin you can include it after lightgallery.min.js
.
<body>
...
<script src="js/lightgallery.min.js"></script>
<!-- lightgallery plugins -->
<script src="js/lg-thumbnail.min.js"></script>
<script src="js/lg-fullscreen.min.js"></script>
</body>
Lightgallery also supports AMD, CommonJS and ES6 modules. When you use AMD make sure that lightgallery.js is loaded before lightgallery modules.
require(['./lightgallery.js'], function() {
require(["./lg-zoom.js", "./lg-thumbnail.js"], function(){
lightGallery(document.getElementById('lightgallery'));
});
});
The markup
lightgallery does not force you to use any kind of markup. You can use whatever markup you want. But i suggest you to use the following markup. Here you can find the detailed examples of different kinds of markup.
<div id="lightgallery">
<a href="img/img1.jpg">
<img src="img/thumb1.jpg">
</a>
<a href="img/img2.jpg">
<img src="img/thumb2.jpg">
</a>
...
</div>
Call the plugin
Finally you need to initiate the gallery by adding the following code.
<script>
lightGallery(document.getElementById('lightgallery'));
</script>
Support lightgallery
If you like lightgallery please support the project by staring the repository or tweet about this project.
Resources
Demos
- Thumbnails
- YouTube, Vimeo Video Gallery
- HTML5 Video Gallery
- Transitions
- Dynamic
- Events
- Methods
- Iframe. External websites, Google map etc.
- Captions
- Responsive images
- Gallery with fixed size
- HTML Markup
- Facebook comments
- Easing
- History/hash plugin
- Social media share
Built in modules
- Thumbnail - GItHub - Docs
- Autoplay - GItHub - Docs
- Video - GItHub - Docs
- Fullscreen - GItHub - Docs
- Pager - GItHub - Docs
- Zoom - GItHub - Docs
- Hash - GItHub - Docs
- Share - GItHub - Docs
- Rotate - GItHub - Docs
License
Commercial license
If you want to use lightgallery.js to develop commercial sites, themes, projects, and applications, the Commercial license is the appropriate license. With this option, your source code is kept proprietary. Read more about the commercial license
Open source license
If you are creating an open source application under a license compatible with the GNU GPL license v3, you may use this project under the terms of the GPLv3.
*Note that all licence references and agreements mentioned in the lightgallery.js README section above
are relevant to that project's source code only.