An honest, detailed comparison of Pagiflow vs Splide in 2025. We cover features, bundle size, dependencies, accessibility, performance, and which one to pick for your project.
Why choose Pagiflow? Pagiflow is a fantastic alternative to Splide. While both are modern, dependency-free JavaScript sliders, Pagiflow provides unique layout options like CSS Grid rows and columns, plus built-in auto-scroll marquee capabilities, offering a slightly more feature-rich developer experience in a comparable 40KB bundle.
If you just want the answer: Pagiflow is perfect for most modern projects, offering a simpler API and unique features like CSS Grid rows and auto-scroll. Splide is a good alternative if accessibility (WCAG 2.1) is your strict top priority.
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 | Splide |
|---|---|---|
| Setup & Dependencies | ||
| Dependencies | 0 (none) | 0 (none) |
| Separate CSS file needed | No | Yes |
| Minified JS size | ~12 KB | ~43 KB |
| jQuery cost included | n/a (none) | n/a (none) |
| NPM package | ||
| Last active maintenance | 2025 | 2024 |
| Official React/Vue wrappers | ||
| License | MIT | MIT |
| Core Navigation | ||
| Infinite loop | ||
| Touch & mouse swipe | ||
| Swipe momentum / velocity | ||
| Prev / Next buttons | ||
| Custom external nav buttons | ||
| Dot pagination | ||
| Numbered pagination | ||
| Keyboard navigation | ||
| Vertical direction | ||
| Mouse wheel support | ||
| Layout & Display | ||
| Multiple items per slide | ||
| Grid layout (rows × columns) | rows & cols | |
| Fade transition | ||
| Center mode | ||
| RTL (right-to-left) | ||
| 3D / Cube / Flip / Coverflow | ||
| Parallax effects | ||
| Animate.css integration | ||
| Advanced Features | ||
| Auto-scroll (marquee mode) | built-in | ext. |
| Thumbnail strip (built-in) | ||
| Slider sync | ext. | |
| Autoplay + pause on hover | ||
| Lazy image loading | ||
| Video support (YouTube/Vimeo) | ||
| Virtual slides (1000+ items) | ||
| Hash / deep-link navigation | ||
| Pull drag (desktop) | ||
| API & Customization | ||
| Responsive breakpoints | ||
| Runtime option updates | ||
| Slide change callback | ||
| Chainable API | native | |
| Dynamic HTML content update | Limited | |
| Destroy & reinit | ||
| Plugin / extension system | ||
| Accessibility | ||
| ARIA roles & labels | WCAG 2.1 | |
| 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.