Let’s take a look at a few surprisingly lightweight and dependency-free JavaScript libraries for creating carousels on your website.
What is a carousel?
A carousel primarily displays images, products, logos, quotes, or reviews in a slideshow format. We can swipe carousel items left or right using a mouse click, touch input, or the arrow keys.

Carousels are sometimes confused with sliders, although they are essentially very similar concepts, and we often see both of them on websites of all kinds, whether for viewing photos, reviews, or any other type of information. One of the best examples of a static carousel is an Instagram post with multiple photos.
1. Glide.js
An ES6-compatible slider and carousel that doesn’t rely on JavaScript. It’s lightweight, flexible, and fast. Designed specifically for sliders, it offers exactly the right amount of functionality—no more, no less.
It’s one of the most popular JavaScript libraries for creating carousels. Carousels in this library can include several control elements, such as arrows and bullets.
The best part is that this library weighs in at just ~28 KB (~8 KB in a ZIP file).
Link: glidejs.com
Demo: glidejs.com/docs
2. Splide
Splide is a lightweight, powerful, and flexible slider and carousel written in pure (vanilla) JavaScript without any dependencies.
It’s small in size, less than 29 KB (11 KB when compressed). The library also offers features such as flexibility and extensibility, multiple slides, responsiveness and support for breakpoints, and the use of relative CSS units such as vw, %, rem etc.
Link: splidejs.com
Demo: splidejs.com/thumbnail-slider
3. Swiper
Swiper is the most modern free mobile touch slider with hardware-accelerated transitions and amazing native behavior.
It is designed for use in mobile websites, mobile web apps, and native/hybrid mobile apps, but we can also use it for desktop versions as a carousel slider.
Link: swiperjs.com
Demo: swiperjs.com/demos
4. Flickity
Flickity is an amazing touch-enabled, responsive, swipeable carousel library. It’s easy to use. Flickity makes carousels, galleries, and sliders come alive and feel effortless.
Link: flickity.metafizzy.co
Demo: flickity.metafizzy.co/#feature-showcase
5. Glider.js
Lightning-fast, incredibly small, fully responsive, mobile-friendly, dependency-free, native scrollable list with pagination controls.
The library’s compressed size is < 2.8 KB. Claimed initialization time is just 25 ms. Built with vanilla JS!
Glider.js preserves native scrolling, creating a natural feel on any touch-enabled device, while providing the basic aesthetics and functionality of a carousel. Great for desktop versions!
Link: nickpiscitelli.github.io/Glider.js
Demo: nickpiscitelli.github.io/Glider.js/#demos
6. Embla Carousel
A lightweight carousel library with smooth animations and high scrolling precision.
You can extend Embla Carousel yourself using your own CSS and JavaScript to create your own amazing carousels.
Link: embla-carousel.com
Demo: embla-carousel.com/examples
7. Tiny Slider 2
A tiny slider for any purpose, inspired by Owl Carousel.
Owl Carousel is an older jQuery-based carousel slider that is now considered deprecated and rarely used.
Tiny Slider offers amazing features such as looping, rewinding, swiping, lazy loading, responsiveness, and much more.
Link: ganlanyuan.github.io/tiny-slider
Demo: ganlanyuan.github.io/tiny-slider/demo
Conclusion
I hope these JavaScript carousel libraries will help you quickly create amazing carousels and provide all the essential aesthetic and functional features.
If you know of any other dependency-free JavaScript carousel libraries that you prefer to use for this purpose, please share them in the comments below. This will help many of your colleagues.