Need help with flickity?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

6.9K Stars 606 Forks 514 Commits 157 Opened issues


:leaves: Touch, responsive, flickable carousels

Services available


Need anything else?

Contributors list


Touch, responsive, flickable carousels

See for complete docs and demos.




Link directly to Flickity files on unpkg.

Package managers


bower install flickity --save


npm install flickity --save


Commercial license

If you want to use Flickity to develop commercial sites, themes, projects, and applications, the Commercial license is the appropriate license. With this option, your source code is kept proprietary. Purchase a Flickity Commercial License at

Open source license

If you are creating an open source application under a license compatible with the GNU GPL license v3, you may use Flickity under the terms of the GPLv3.

Read more about Flickity's license.


Flickity works with a container element and a set of child cell elements


var flky = new Flickity( '.gallery', {
  // options, defaults listed

accessibility: true, // enable keyboard navigation, pressing left & right keys

adaptiveHeight: false, // set carousel height to the selected slide

autoPlay: false, // advances to the next cell // if true, default is 3 seconds // or set time between advances in milliseconds // i.e. autoPlay: 1000 will advance every 1 second

cellAlign: 'center', // alignment of cells, 'center', 'left', or 'right' // or a decimal 0-1, 0 is beginning (left) of container, 1 is end (right)

cellSelector: undefined, // specify selector for cell elements

contain: false, // will contain cells to container // so no excess scroll at beginning or end // has no effect if wrapAround is enabled

draggable: '>1', // enables dragging & flicking // if at least 2 cells

dragThreshold: 3, // number of pixels a user must scroll horizontally to start dragging // increase to allow more room for vertical scroll for touch devices

freeScroll: false, // enables content to be freely scrolled and flicked // without aligning cells

friction: 0.2, // smaller number = easier to flick farther

groupCells: false, // group cells together in slides

initialIndex: 0, // zero-based index of the initial selected cell

lazyLoad: true, // enable lazy-loading images // set img data-flickity-lazyload="src.jpg" // set to number to load images adjacent cells

percentPosition: true, // sets positioning in percent values, rather than pixels // Enable if items have percent widths // Disable if items have pixel widths, like images

prevNextButtons: true, // creates and enables buttons to click to previous & next cells

pageDots: true, // create and enable page dots

resize: true, // listens to window resize events to adjust size & positions

rightToLeft: false, // enables right-to-left layout

setGallerySize: true, // sets the height of gallery // disable if gallery already has height set with CSS

watchCSS: false, // watches the content of :after of the element // activates if #element:after { content: 'flickity' }

wrapAround: false // at end of cells, wraps-around to first for infinite scrolling


By Metafizzy 🌈🐻

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.