davidjerleke/embla-carousel

A lightweight carousel library with fluid motion and great swipe precision.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 23 minutes ago
Added to GitGenius on September 7th, 2026
Created on March 18th, 2019
Open Issues & Pull Requests: 21 (+0)
GitHub issues: Enabled
Number of forks: 260
Total Stargazers: 8,412 (+0)
Total Subscribers: 24 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Issue API getrepoissuespagesummary failed: 429 Rate limit exceeded. Please try again later.

Detailed Description

Embla Carousel is a lightweight, dependency-free carousel library built for smooth, fluid motion and precision swiping.

The library solves the problem of implementing carousels without unnecessary bloat or framework lock-in. It achieves this through a framework-agnostic architecture that prioritizes fluid motion and swipe precision as core features. The tool works across vanilla JavaScript, TypeScript, React, Vue, Svelte, Solid, and Angular, allowing developers to integrate carousel functionality into projects regardless of their technology stack.

Embla Carousel suits projects where bundle size matters and where developers want complete control over carousel behavior without external dependencies. It works well for teams already committed to a specific framework who need a carousel that integrates cleanly without forcing additional dependencies. The library's emphasis on smooth motion and accurate touch handling makes it particularly valuable for mobile-web applications where swipe interactions are critical to user experience.

The project maintains active development with regular updates and refinements to its core motion engine and plugin system. Documentation is comprehensive and includes predefined examples across all supported frameworks. The codebase is fully open source and designed to be maintainable, with clear separation between the core library and optional plugins that extend functionality.