A smooth scroll library fresh out of darkroom.engineering.
Lenis is an open-source JavaScript library that replaces native browser scrolling with a smooth, controllable scroll experience, implemented with a single line of code (`new Lenis()`). It normalizes input across wheel, trackpad, and touch devices so scrolling behaves consistently, and it synchronizes scroll-linked animations (including WebGL and DOM effects) to prevent the frame delays that occur when browsers run such effects asynchronously with native scroll.
The library supports scroll snapping, attaching scroll behavior to specific elements, horizontal and vertical scrolling, and infinite scrolling, and is under 4kb in size. A no-code option is available through a Framer plugin for users who do not want to implement the JavaScript integration directly.
Lenis is developed and maintained by darkroom.engineering and is used as the smooth-scroll layer behind other libraries, including Locomotive Scroll. It is intended for developers and designers building web interfaces with custom scroll behavior or scroll-synced animation.
Yes, Lenis is a free, open-source library.
You add smooth scroll with a single call to new Lenis(), or use the no-code Framer plugin.
Yes, it gives consistent smooth scroll behavior across wheel, trackpad, and touch input.
Yes, there is a Framer plugin for no-code integration.
It is lightweight, under 4kb.
Show your product to thousands of developers
· 100k monthly pageviews
· 7k newsletter subscribers
Grommet documentation.
UI components with variants.
A marketplace of fully responsive, multi-purpose UI kits, built with Tailwind CSS, for start-ups and products of any kind.
Luqum is a Python library for parsing Lucene query expressions and converting them into structured Elasticsearch DSL queries. It helps developers safely interpret, transform, and analyze Lucene style search syntax without hand rolling parsers.
React components and hooks library with native dark theme support and focus on usability, accessibility and developer experience.
Streaming Markdown renderers for AI chat interfaces across Vue, React, Svelte, Angular, Nuxt, and Next.js, with diagrams, math, code, and safe HTML.