kingsora/overlayscrollbars

A javascript scrollbar plugin that hides the native scrollbars, provides custom styleable overlay scrollbars, and preserves the native functionality and feel.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 49 minutes ago
Added to GitGenius on September 13th, 2026
Created on September 11th, 2017
Open Issues & Pull Requests: 10 (+0)
GitHub issues: Enabled
Number of forks: 247
Total Stargazers: 5,198 (+0)
Total Subscribers: 38 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 21.5 hours
Mean response time: 4.4 days
90th percentile: 8.5 days
Tracked items: 72

Most active contributors

Sign in to see contributor activity.

How this project is maintained

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

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 9
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 633 days
Stale 30+ days: 8
Stale 90+ days: 5

Recent activity

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

Top labels

  • :banana: question (21)
  • :pear: improvement (7)
  • :apple: bug (4)
  • :honey_pot: workaround (4)
  • :cyclone: Plugin (2)
  • :lemon: feature (2)
  • :sweat_drops: Virtualization (2)
  • react (2)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

OverlayScrollbars is a JavaScript scrollbar plugin that hides native scrollbars and replaces them with custom styleable overlay scrollbars while preserving native scrolling behavior and functionality.

The plugin addresses the problem of ugly and space-consuming default scrollbars by overlaying custom scrollbars on top of scrollable content. It maintains full native scrolling behavior, meaning users interact with scrollbars exactly as they would with browser defaults. The approach works across all major browsers and input methods, including mouse, touch, and pen input on mobile, desktop, and tablet devices.

Developers should choose this tool if they need fine-grained control over scrollbar appearance without sacrificing accessibility or native feel. It suits projects ranging from simple web applications to complex interfaces with virtual scrolling. The plugin works on the body element, supports scroll snapping, and integrates with virtual scrolling libraries. Official framework-specific versions exist for React, Vue, Angular, Svelte, and Solid, each fully typed and optimized for their respective ecosystems. For server-side rendering, the tool supports Node, Deno, and Bun environments.

The project maintains a well-documented API and comprehensive examples. Development activity shows consistent attention to browser compatibility and performance optimization, with support for the latest browser features. The codebase is entirely self-written in TypeScript with no external dependencies, enabling tree-shaking and keeping bundle size minimal. The tool has been tested across diverse devices and input combinations to ensure reliability in real-world scenarios.