Web Dev Tools

Carousels & Sliders

Image / card carousels, hero sliders, infinite scrollers.

Headless / lightweight

  • Embla Carousel — small, accessible, framework-agnostic (React, Vue, Svelte, Solid). The default for new projects. Used inside shadcn/ui's Carousel component.
  • Keen Slider — also small, also accessible; spring physics, infinite mode.
  • Splide — popular vanilla-first carousel; React / Vue wrappers.

Feature-rich

  • Swiper — the most-installed slider in the world. Touch / mouse / keyboard / a11y / virtual slides / parallax / 3D effects. Big bundle but very capable.
  • flickity — older but loved; touch-friendly.
  • slick / react-slick — old, ubiquitous, no longer recommended for new projects.

Vertical / infinite scrolling

  • react-infinite-scroll-component / react-infinite-scroller — for endless lists.
  • TanStack Virtual — for windowed lists/grids; usually a better answer than infinite scroll.

Marquee / "scroller" UIs

  • react-fast-marquee — drop-in marquee.
  • Magic UI / Aceternity UI marquees — copy-paste components.
  • Framer Motion / Motion with <motion.div> and a CSS keyframe — DIY easily.

Pick this if…

  • Default new project, shadcn-flavored: Embla.
  • Need every feature, willing to pay bundle size: Swiper.
  • Tiny + spring physics: Keen Slider.
  • You're really doing infinite scroll, not a carousel: TanStack Virtual.

On this page