Lenis is a lightweight smooth scroll library that enhances scrolling behavior across web projects.
Lenis solves the problem of creating smooth, performant scrolling experiences by wrapping the browser's native scroll mechanism rather than replacing it. This approach preserves built-in browser features like sticky positioning, anchor links, and accessibility support while layering smooth motion on top. The library is designed to synchronize with other animations and effects, making it suitable for driving WebGL scenes, parallax effects, and integration with animation libraries like GSAP ScrollTrigger from a single scroll loop.
The tool suits projects where scroll quality matters and developers want smooth scrolling without sacrificing browser defaults or accessibility. It works with vanilla JavaScript and includes first-class framework adapters for React, Vue, and Framer. The library supports scrolling on any axis—vertical, horizontal, and nested—and includes a snap plugin for aligning sections without conflicting with the smooth scroll behavior. Being dependency-free and only a few kilobytes in size makes it practical for projects concerned with performance budgets.
The project maintains active engagement with its community through a dedicated showcase of implementations and tutorials. Development appears focused on stability and refinement, with careful attention to edge cases and browser compatibility considerations documented in the repository. The maintainers have published a manifesto explaining the design philosophy behind the library, indicating thoughtful consideration of how smooth scrolling should work on the modern web.