A powerful JavaScript slider and carousel library. 40+ options. Infinite loop, fade, grid, thumbnails, auto-scroll, RTL, sync — everything out of the box. Works with JavaScript, React, Vue, Svelte, Solid, Angular, and Next.js.
// 1. Include Pagiflow Styles in <head>
<link rel="stylesheet" href="path/to/pagiflow.css">
// 2. Include Pagiflow Script before </body>
<script src="path/to/pagiflow.js"></script>
const slider = Pagiflow('#mySlider', {
loop: true,
itemsPerSlide: 3,
nav: true,
autoplay: true
});
// Chainable methods
slider.goTo(2).play();
import { Pagiflow, PagiflowSlide } from 'pagiflow/react';
import 'pagiflow/css';
export default () => (
<Pagiflow loop nav itemsPerSlide={3}>
<PagiflowSlide>1</PagiflowSlide>
<PagiflowSlide>2</PagiflowSlide>
<PagiflowSlide>3</PagiflowSlide>
</Pagiflow>
);
<template>
<Pagiflow loop nav :itemsPerSlide="3">
<PagiflowSlide>1</PagiflowSlide>
<PagiflowSlide>2</PagiflowSlide>
</Pagiflow>
</template>
<script setup>
import { Pagiflow, PagiflowSlide } from 'pagiflow/vue';
import 'pagiflow/css';
</script>
<script>
import { Pagiflow } from 'pagiflow/svelte';
import 'pagiflow/css';
</script>
<Pagiflow loop nav itemsPerSlide={3}>
<div>Slide 1</div>
<div>Slide 2</div>
</Pagiflow>
import { Pagiflow } from 'pagiflow/solid';
import 'pagiflow/css';
export default () => (
<Pagiflow loop nav itemsPerSlide={3}>
<div>Slide 1</div>
<div>Slide 2</div>
</Pagiflow>
);
import { Component } from '@angular/core';
import { PagiflowComponent, PagiflowSlideComponent } from 'pagiflow/angular';
@Component({
standalone: true,
imports: [PagiflowComponent, PagiflowSlideComponent],
template: `
<pf-pagiflow [options]="{ loop: true, nav: true }">
<pf-slide>1</pf-slide>
<pf-slide>2</pf-slide>
</pf-pagiflow>
`
})
export class SliderComponent {}
Every major slider feature built-in. No plugins, no add-ons, no bloat.
Built with modern web standards, prioritizing performance, accessibility, and developer experience.
Fully implemented with aria-live regions, aria-hidden toggling for inactive slides, focus management, and complete keyboard navigation support.
No top-level window or document calls. Pagiflow is fully compatible and won't crash Next.js, Nuxt, or other server-rendered components.
Uses a custom swipe physics system via modern pointer/touch events for incredibly smooth, native-feeling dragging mechanics.
Utilizes ResizeObserver for flawless responsive layouts and seamless jump logic for infinite loops — zero flashing when crossing clone boundaries.
All these features packed into just ~48kb minified, sitting at an incredibly light ~10.6kb gzipped. Maximum performance with zero bloat.
Toggle options in real time and see the slider update instantly.
No build tools, no configuration files, no framework lock-in. Just include and go.
Pagiflow vs Swiper, Slick, Splide & more. See a detailed feature-by-feature comparison with every major JavaScript slider library.
loop: true in your options. Pagiflow duplicates slides internally to create a seamless infinite scrolling experience.
rtl: true or add dir="rtl" to your container. Pagiflow automatically adjusts navigation and swipe behavior.
sync option to link two sliders, such as a main gallery and thumbnail navigation.
direction: 'vertical' to create vertical sliders with automatic touch gesture handling.
autoScroll option creates continuous scrolling marquees for logos, news tickers, and banners.
itemsPerSlide to define visible slides. Combine with gap and responsive for fully responsive layouts.