Embla Carousel

Embla Carousel is a lightweight, dependency-free carousel library built for smooth, fluid motion and precision swiping. With a framework-agnostic design, it supports React, Vue, Svelte, Solid, and more, offering complete control without unnecessary bloat. It has garnered over 7,900 GitHub stars and is actively maintained with strong community support.

carousel
carouselsliderswipetouchlightweight

๐ŸŽฎ Playground

Loading playground...
Use cases
  • โ€ขProduct image galleries and carousels for e-commerce websites
  • โ€ขProject showcases and image sliders for portfolio sites
  • โ€ขTouch gesture-based content navigation in mobile-first web applications
  • โ€ขArticle or video slideshows for news and media platforms
  • โ€ขLightweight carousel solutions for bundle size-sensitive projects
Good for
  • โœ“Framework-agnostic design supporting all major frameworks including JavaScript, React, Vue, Svelte, and Solid
  • โœ“Zero dependencies with minimal bundle size (very small gzipped footprint)
  • โœ“Exceptional user experience with smooth animations and precise touch/swipe control
  • โœ“Highly extensible and customizable through plugin system and reactive utilities
  • โœ“Full TypeScript support with active community and sponsor-backed stable maintenance
Not good for
  • โœ—Requires more initial setup and custom code compared to all-in-one carousel solutions
  • โœ—Advanced features (autoplay, thumbnails, etc.) require separate plugin installation and configuration with a learning curve
Installation
$ npm install embla-carousel-react
Example
import useEmblaCarousel from "embla-carousel-react"

export default function Demo() {
  const [emblaRef] = useEmblaCarousel()
  
  return (
    <div ref={emblaRef}>
      <div className="flex">
        <div>Slide 1</div>
        <div>Slide 2</div>
        <div>Slide 3</div>
      </div>
    </div>
  )
}
Comparison

"Lighter than Swiper, more modern than react-slick."

Trust Metrics

8K

GitHub Stars

6.8M

Weekly Downloads

Last Commit:Jan 21, 2026
Used by
shadcn/uiCal.comVercel