Skip to content
CoverFlow widget written in ReactJS
JavaScript CSS
Branch: master
Clone or download

Coverflow React

npm version


npm install --save coverflow-react

Live Demo

Demo project

There is a coverflow-react-demo repository on GitHub, that demonstrates features of this widget.


screenshot horizontal screenshot vertical


Using CoverFlow in your project

  1. Add coverflow-react package to your project using npm.
npm install --save coverflow-react
  1. import CoverFlow
import CoverFlow from 'coverflow-react';
  1. Create an array of path/URLs to the images.
const imagesArr = [

(If you are using create-react-app, you can put the images in 'public' directory).

  1. Add CoverFlow Component to your project and pass images array.
<CoverFlow imagesArr={imagesArr} />

Optional props

  • zIndex - by default it is 100. If there are conflicts with z-index in your project. You can pass zIndex you want.
  • height - the height of coverflow container in pixels. The default is 300. The height of coverflow item is calculated automatically. It is 60px less than the height of the container.
  • emptyMessage - a message the user see when there are no items. The default message is 'No items to show.'. This property allows to customize this message. It is particularly useful for internationalization and localization, by allowing coverflow to adapt to different languages.
  • itemRatio - aspect ratio of coverflow items. The default is '8:5'.
  • background - a css background property. The default is 'lightgray'. You can assign any valid css background.
  • border - a css border property. The default is 'none'. You can assign any valid css border.
  • boxShadow - a css box-shadow property. The default is 'none'. You can assign any valid css box-shadow.
  • handleSelect - you can pass a callback function. The function has an index parameter.
<CoverFlow handleSelect={(index)=>{alert(index);}} imagesArr={imagesArr} />
  • labelsArr - allows to add text labels at the bottom of the images, the array must be the same size of imagesArr.
  • direction - the default is "horizontal", if passing "vertical", the CoverFlow will transform to vertical.


  • Support for large amount of images, by rendering only some of them at a time, and with easy navigation and smooth animation, the user can see all the images.
  • Vertical CoverFlow (In addition to Horizontal CoverFlow).

Multiple input devices support

  • Swipe support on touch devices (smartphones, tablets).
  • Keyboard 'left' and 'right' keys support.
  • Scroll support (mouse and trackpad).


Opening issues and code contributions are welcomed. See contributing guide.

Credits for images in the demo

Uncopyrited images from Pixabay and Pexels.

You can’t perform that action at this time.