An honest, detailed comparison of six popular JavaScript slider and carousel libraries in 2025. We cover features, bundle size, dependencies, accessibility, performance, and which one to pick for your project.
If you just want the answer: Pagiflow for most modern projects, Swiper.js if you need niche effects like 3D cube or virtual slides, Splide if accessibility is the top priority. Avoid Slick for new projects — it requires jQuery and is effectively unmaintained since 2019.
Bundle size directly impacts Core Web Vitals. Every kilobyte of JavaScript is parsed, compiled, and executed by the browser. Here's how the libraries compare (minified, without gzip):
Note: The jQuery tax: Slick and Owl Carousel both require jQuery (~87 KB), making their real page cost ~139–130 KB respectively — comparable to Swiper's full bundle, but without Swiper's features. Swiper can be reduced to ~50–60 KB if you use only core modules. Pagiflow's full feature set still weighs less than Swiper's core-only bundle.
The most comprehensive side-by-side feature comparison of the top JavaScript slider libraries.
| Feature | Pagiflow | Swiper.js | Slick | Splide | Glide.js | Owl Carousel 2 |
|---|---|---|---|---|---|---|
| Setup & Dependencies | ||||||
| Dependencies | 0 (none) | 0 (none) | jQuery | 0 (none) | 0 (none) | jQuery |
| Separate CSS file needed | No | Yes | Yes | Yes | Yes | Yes |
| Minified JS size | ~12 KB | ~140 KB | ~52 KB | ~43 KB | ~23 KB | ~43 KB |
| jQuery cost included | n/a (none) | n/a (none) | +87 KB | n/a (none) | n/a (none) | +87 KB |
| NPM package | ||||||
| Last active maintenance | 2025 | 2025 | 2019 | 2024 | 2023 | 2019 |
| Official React/Vue wrappers | ||||||
| License | MIT | MIT | MIT | MIT | MIT | MIT |
| Core Navigation | ||||||
| Infinite loop | ||||||
| Touch & mouse swipe | ||||||
| Swipe momentum / velocity | Basic | |||||
| Prev / Next buttons | ||||||
| Custom external nav buttons | Manual | |||||
| Dot pagination | ||||||
| Numbered pagination | ||||||
| Keyboard navigation | Basic | |||||
| Vertical direction | ||||||
| Mouse wheel support | (module) | |||||
| Layout & Display | ||||||
| Multiple items per slide | ||||||
| Grid layout (rows × columns) | rows & cols | rows only | ||||
| Fade transition | ||||||
| Center mode | ||||||
| RTL (right-to-left) | ||||||
| 3D / Cube / Flip / Coverflow | all four | |||||
| Parallax effects | ||||||
| Animate.css integration | ||||||
| Advanced Features | ||||||
| Auto-scroll (marquee mode) | built-in | plugin | ext. | |||
| Thumbnail strip (built-in) | ||||||
| Slider sync | ext. | |||||
| Autoplay + pause on hover | ||||||
| Lazy image loading | Manual | |||||
| Video support (YouTube/Vimeo) | Manual | built-in | ||||
| Virtual slides (1000+ items) | ||||||
| Hash / deep-link navigation | ||||||
| Pull drag (desktop) | ||||||
| API & Customization | ||||||
| Responsive breakpoints | ||||||
| Runtime option updates | Limited | Limited | ||||
| Slide change callback | ||||||
| Chainable API | native | via jQuery | ||||
| Dynamic HTML content update | Manual | Limited | Limited | Limited | ||
| Destroy & reinit | ||||||
| Plugin / extension system | ||||||
| Accessibility | ||||||
| ARIA roles & labels | Basic | WCAG 2.1 | Basic | Basic | ||
| inert on hidden slides | ||||||
| Keyboard trap prevention | ||||||
| Reduced motion support | ||||||
A closer look at the strengths, weaknesses, and overall scores for each library.
loop: true in your options. Pagiflow uses the DOM clone technique —
it silently prepends and appends copies of your slides, creating seamless infinite scrolling without any
visual jump. It works with all other options: multiple items per view, autoplay, touch swipe, and fade.
itemsPerSlide to the number of visible slides you want. Combined with
gap for spacing and responsive for breakpoints, you can build fully responsive
carousels that show 1 slide on mobile, 2 on tablet, and 3+ on desktop. Example:
Pagiflow('#s', { itemsPerSlide: 3, gap: 16, responsive: { 0: { itemsPerSlide: 1 }, 768: { itemsPerSlide: 2 } } })
Zero dependencies. 40KB. 30+ options. MIT license. Up and running in 3 minutes.