Mobile touch slider with hardware accelerated transitions
Switch branches/tags
Nothing to show
Pull request Compare This branch is 694 commits behind nolimits4web:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Swiper - Mobile touch slider with hardware accelerated transitions


Swiper - is the free and ultra lightweight mobile touch slider with hardware accelerated transitions (where supported) and amazing native behavior. It is intended to use in mobile websites, mobile web apps, and mobile native apps. Designed mostly for iOS, but also works on Android and latest Desktop browsers. Swiper is created by

Change Log

Swiper 1.5.5 - Updated on October 20, 2012

  • Internet Explorer 8 support (without animation)
  • FireFox below 11 support

Swiper 1.5 - Updated on October 6, 2012

  • A lot of major and minor fixes, core optimization
  • Now it works in Internet Explorer 9 (without animation) and Internet Explorer 10
  • Improved perfomance
  • New "loop" mode with infinite scroll (see demo below)
  • New carousel mode, now you can show few slides per slider container (see demo below)
  • New "smart" pagination, looks fun with loop and carousel modes
  • Now Swipers can be easily nested one into another (see demo below)
  • Added ability to disable automatic slider resize on windows resize
  • Updated CSS

Swiper 1.3 - Updated on April 15, 2012

  • External functions swipeNext, swipePrev, swipeTo now return true or false.
  • .previousSlide property returns the index of previously displayed slide
  • Added onSlideInitialize callback

Swiper 1.3 - Updated on April 2, 2012

  • Added onSlideChangeStart callback
  • Added onSlideReset callback
  • onSlideChange is renamed to onSlideChangeEnd
  • Now .swipeTo() method accepts 3 parameters - index (number), speed (number) and runCallbacks (boolean)
  • Now .swipeTo() method will produce 'onSlideChangeStart' and 'onSlideChangeEnd' callback functions (if "runCallbacks" is not equal to "false")
  • New mySwiper.destroy() method to release all events assigned by Swiper
  • Fixed serious bug when using fluid (responsive) Swiper to re-calculate slides' position on window resize

Swiper 1.2 - Updated on March 31, 2012

  • Improved mouse events to get the same behaviour as on touch devices

Swiper 1.1 - Updated on March 18, 2012

  • Added autoPlay parameter to enable auto play
  • mySwiper.startAutoPlay() - external function to start auto play
  • mySwiper.startAutoPlay() - external function to stop auto play
  • Optimized for usage as a fallback for upcoming " S6" 3D slider
  • Added small plugin to use Swiper with Zepto.js

Swiper 1.0 - Initial release on March 15, 2012


  • 1:1 Touch movement. But this ratio can be configured

  • Touch emulation. This function will be useful if you are going to use Swiper on desktop sites. In this case Swiper will accept mouse events like touch events (click and drag to change slides)

  • Vertical/Horizontal. Swiper comes with 2 main modes - horizontal (for horizontal animation and horizontal swipes) and vertical (for vertical animation and vertical swipes)

  • Free Mode. When this mode enabled slides will not have fixed positions, like usual scroller (see demos bellow)

  • Rotation/resize adjustment. Swiper will be reinitialized after rotation of device

  • Responsive. Can be used with a width or/and height defined in percents, not fixed. Useful for usage on devices with a different resolutions

  • Scroll prevention. Swiper will prevent vertical scroll when you touch it in "horizontal" mode, and horizontal scroll in "vertical" mode

  • Resistant bounds. Swiper will increase resistance when you try to swipe it over than most left and most right positions (most top and most bottom for "vertical" mode)

  • Built-in pagination control. Can be disabled

  • Auto Play. Just set the delay and Swiper will change the slides automatically untill you touch it.

  • Loop mode. In this mode you will get infinite scrolling and first slides will repeat after last ones. New in 1.5

  • Carousel mode. Swiper allows you to set numbers of slides you want to display at the same time on slider's container. New in 1.5

  • Nested Swipers. You can insert one Swiper into slide of different Swiper, for example vertical into horizontal. New in 1.5

  • Any HTML. You can put any HTML content inside of slide, not only images

  • Rich API. Swiper comes with very rich API. It allows to create your own pagination, "next" and "previous" buttons and comes with 4 callbacks - onTouchStart, onTouchMove, onTouchEnd, onSlideSwitch

  • Flexible configuration. Swiper accepts a lot of parameters on initialization to make it much flexible as possible. You can configure animation speed, mode (vertical or horizontal), free mode, enable/disable pagination, touch ratio, etc.

  • Hardware accelerated. Swiper uses hardware accelerated technics (where supported) to achive ultra smooth animation and perfomance, especially on iOS devices.

  • Awesome compatibility. Swiper compatible and tested with: Mobile Safari (tested on iOS5), Android 2.1+, latest desktop versions of Google Chrome, Safari, Firefox, Internet Explorer 10 and Opera. It also works in Internet Explorer 9 but without animation.

  • Standalone. Swiper doesn't require any JavaScript libraries like jQuery, it makes Swiper much more smaller and faster. So it can be safely used with such libraries as jQuery, jQuery Mobile, jQTouch, etc.

  • Ultra lightweight. Only 3.2 KB minified and gzipped

With all these features you can build amazing touch interfaces and apps with awesome native behavior.

Demos & Usage


Swiper is licensed under GPL & MIT