Embla Carousel is a lightweight JavaScript carousel library and barebones slider engine designed for creating touch-enabled, swipeable content sliders. It functions as a plugin-based framework that manages scroll physics and slide positioning without imposing specific UI styles, while providing a programmable API for custom carousel development.
The system is distinguished by its modular architecture, allowing developers to extend core logic through external plugins and custom event hooks. It is compatible with server-side rendering, generating initial styles on the server to prevent layout shifts during client hydration.
The library covers a broad range of capabilities, including responsive layout management, automated content scrolling, and high-precision touch interactions. It includes built-in support for accessibility via ARIA labels and keyboard navigation, as well as programmatic controls for slide navigation and state synchronization.
The project is written in TypeScript.