awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
davidcetinkaya avatar

davidcetinkaya/embla-carousel

0
View on GitHub↗
8,301 stars·252 forks·TypeScript·MIT·13 viewswww.embla-carousel.com↗

Embla Carousel

Embla Carousel is a framework-agnostic JavaScript library used to build sliding content galleries and touch-enabled slider components. It provides a toolkit for creating carousels that function independently of any specific frontend framework or DOM library.

The library focuses on precision swiping and fluid motion for interactive image galleries and custom content sliders. It is designed to maintain consistent behavior across different browser environments and device screen sizes.

Features

  • Content Carousels - Provides a highly optimized interactive component for cycling through series of content elements.
  • Content Sliders - Offers a flexible toolkit for creating custom sliders that handle arbitrary content sequences.
  • Event-Driven Input Handlers - Translates pointer and touch events into motion offsets through an asynchronous event-driven input handler.
  • Interactive Swipable Galleries - Enables the creation of navigable image galleries that users can swipe through on mobile and desktop.
  • Swipe-to-Scroll Handlers - Provides precision swipe gesture handling for fluid motion in web-based content galleries.
  • JavaScript Gallery Libraries - Ships as a modular JavaScript library for integrating high-performance sliding galleries into web pages.
  • Hardware-Accelerated Engines - Utilizes GPU-accelerated translate3d transforms to ensure smooth, high-frame-rate motion during swiping.
  • Refresh Rate Synchronization - Synchronizes slide updates with the browser refresh rate to eliminate visual stuttering.
  • Coordinate-Based Position Calculators - Calculates absolute spatial coordinates to determine the precise placement and offset of individual slides.
  • Dynamic Alignment Engines - Calculates slide dimensions and gaps dynamically to maintain perfect alignment across different screen sizes.
  • Framework-Agnostic UI Development - Provides carousel primitives that operate independently of any specific JavaScript frontend framework.
  • UI Animations - Implements fluid and natural motion for sliding interface elements to enhance the user experience.
  • Sliders and Carousels - Extensible low-level carousel written in TypeScript.
  • Sliders & Carousels - Extensible low-level carousel library.

Star history

Star history chart for davidcetinkaya/embla-carouselStar history chart for davidcetinkaya/embla-carousel

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does davidcetinkaya/embla-carousel do?

Embla Carousel is a framework-agnostic JavaScript library used to build sliding content galleries and touch-enabled slider components. It provides a toolkit for creating carousels that function independently of any specific frontend framework or DOM library.

What are the main features of davidcetinkaya/embla-carousel?

The main features of davidcetinkaya/embla-carousel are: Content Carousels, Content Sliders, Event-Driven Input Handlers, Interactive Swipable Galleries, Swipe-to-Scroll Handlers, JavaScript Gallery Libraries, Hardware-Accelerated Engines, Refresh Rate Synchronization.

Which projects share features with davidcetinkaya/embla-carousel?

Projects with overlapping indexed features include: jedrzejchalubek/glidejs — Glidejs is a lightweight, dependency-free JavaScript library for creating sliders and carousels. It functions as a… metafizzy/flickity — Flickity is a JavaScript library used to create responsive, touch-enabled content carousels and sliders for web pages.… dimsemenov/photoswipe — PhotoSwipe is a JavaScript image gallery library used to create responsive, touch-enabled lightboxes for mobile and… woocommerce/flexslider — FlexSlider is a jQuery image slider plugin used to create responsive content carousels and multi-item image sliders.… akiran/react-slick — react-slick is a React carousel component and responsive slider library. It provides a reusable user interface element… glidejs/glide — Glide is a dependency-free ES6 JavaScript library used to create responsive content sliders and carousels. It…

Projects sharing features with Embla Carousel

These projects share indexed features with Embla Carousel. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • jedrzejchalubek/glidejsjedrzejchalubek avatar

    jedrzejchalubek/glidejs

    7,667View on GitHub↗

    Glidejs is a lightweight, dependency-free JavaScript library for creating sliders and carousels. It functions as a standalone UI component and content slider that supports ES6. The library uses a modular architecture, allowing for the extension of core logic through a plugin system to implement specialized features and custom behaviors. The project provides capabilities for implementing web carousels and interactive sliding interfaces. It integrates sliding content displays into webpages without the use of external libraries or frameworks.

    JavaScript
    View on GitHub↗7,667
  • metafizzy/flickitymetafizzy avatar

    metafizzy/flickity

    7,576View on GitHub↗

    Flickity is a JavaScript library used to create responsive, touch-enabled content carousels and sliders for web pages. It provides a system for building flickable galleries that allow users to navigate through collections of elements using touch or mouse input. The library specializes in performance and movement, featuring lazy-loading for images that defers loading off-screen content until it enters the viewport. It supports infinite scrolling loops that wrap back to the first cell after the last is reached, as well as automated slide transitions for slideshow experiences. The toolset inclu

    JavaScript
    View on GitHub↗7,576
  • dimsemenov/photoswipedimsemenov avatar

    dimsemenov/PhotoSwipe

    25,205View on GitHub↗

    PhotoSwipe is a JavaScript image gallery library used to create responsive, touch-enabled lightboxes for mobile and desktop web browsers. It functions as a framework-agnostic UI component, allowing for the integration of image viewers across different web environments without requiring specific JavaScript libraries. The library is designed as a mobile-first gallery viewer, providing a full-screen image overlay that supports native-feeling touch gestures. This includes specific optimizations for mobile devices such as swipe navigation and pinch-to-zoom interactions. The project enables full-s

    JavaScript
    View on GitHub↗25,205
  • woocommerce/flexsliderwoocommerce avatar

    woocommerce/FlexSlider

    4,865View on GitHub↗

    FlexSlider is a jQuery image slider plugin used to create responsive content carousels and multi-item image sliders. It enables the construction of sequential galleries for images and video content that automatically adjust layout and visibility based on screen size and orientation. The system supports synchronized slider layouts, allowing multiple slider instances to be linked so they share animation, play, and pause states. It also provides support for right-to-left layouts and customizable animation directions. The plugin covers interactive content navigation through touch swipes, keyboar

    JavaScript
    View on GitHub↗4,865
Compare all 30 related projects→