darkroomengineering/lenis

Smooth scroll as it should be

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 53 minutes ago
Added to GitGenius on September 3rd, 2026
Created on February 21st, 2022
Open Issues & Pull Requests: 22 (+0)
GitHub issues: Enabled
Number of forks: 676
Total Stargazers: 15,731 (+0)
Total Subscribers: 65 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 1.6 hours
Mean response time: 6.8 days
90th percentile: 8.7 days
Tracked items: 100

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Only 6% of issues opened in the past year have been closed. Three people close 78% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 12
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 597 days
Stale 30+ days: 10
Stale 90+ days: 6

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (9)
  • need reproduction (8)
  • blocked (7)
  • enhancement (4)
  • browser issue (3)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

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.