GitPedia

React scroll parallax

🔮 React hooks and components to create parallax scroll effects for banners, images or any other DOM elements.

From jscottsmith·Updated June 19, 2026·View on GitHub·

React hooks and components to create scroll-driven parallax effects for banners, images, or any other DOM elements. Built on [Parallax Controller](https://parallax-controller.damnthat.tv/docs/v2/intro), powered by the Web Animations API where each element is driven by a ScrollTimeline or ViewTimeline. Apply translate, rotate, scale, and opacity keyframes with scroll progress on the compositor and don't block the main thread. The project is written primarily in TypeScript, distributed under the MIT License license, first published in 2017. It has gained significant community traction with 2,986 stars and 157 forks on GitHub. Key topics include: animation, banner, component, effects, hooks.

Latest release: v4.0.0-beta.1
May 18, 2026View Changelog →

<a href="https://react-scroll-parallax.damnthat.tv/"><img src="https://react-scroll-parallax.damnthat.tv/img/logo.png" style="width:96px;height:auto;"></a>

React Scroll Parallax

NPM Version Latest
NPM Downloads
Codecov

Test and Lint
Storybook
Storybook

React hooks and components to create scroll-driven parallax effects for banners, images, or any other DOM elements. Built on Parallax Controller, powered by the Web Animations API where each element is driven by a ScrollTimeline or ViewTimeline. Apply translate, rotate, scale, and opacity keyframes with scroll progress on the compositor and don't block the main thread.

Install

With npm

npm install react-scroll-parallax

Try 4.0 Beta

Uses the latest Parallax Controller built with Web Animations API for scroll-driven animations.

If you're upgrading from V3, here's a migration guide to the v4 beta.

npm install react-scroll-parallax@beta

Example

Create effects with a hook:

jsx
function Component() { const parallax = useParallax({ speed: -10, }); return <div ref={parallax.ref} />; }

or with a component:

jsx
function Component() { return ( <Parallax speed={-10}> <div /> </Parallax> ); }

Getting Started

Read the documentation for setup and usage instructions.

Demos

Docs: Hooks

Docs: Components

Contributors

Showing top 12 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from jscottsmith/react-scroll-parallax via the GitHub API.Last fetched: 6/20/2026