A vanilla JavaScript library that replaces default browser scrollbars with custom CSS-styled ones while preserving native scrolling performance.
SimpleBar is a vanilla JavaScript library that replaces the browser's default scrollbars with custom CSS-styled scrollbars. It solves the problem of inconsistent or unattractive native scrollbars by providing a lightweight, easy-to-use alternative that maintains native scrolling performance and behavior. Unlike plugins that mimic scrolling with JavaScript, SimpleBar keeps the native `overflow: auto` scroll and only changes the visual appearance.
Frontend developers and web designers who need consistent, customizable scrollbars across browsers without sacrificing scrolling performance or native behavior.
Developers choose SimpleBar because it's lightweight (6KB), preserves native scrolling performance, and offers pure CSS customization without the jank and strange behaviors of JavaScript-based scrolling emulation. It's cross-browser compatible and integrates easily with popular frameworks like React, Angular, and Vue.
Custom scrollbars vanilla javascript library with native scroll, done simple, lightweight, easy to use and cross-browser.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Preserves browser's native overflow: auto scrolling, avoiding jank and strange behaviors as highlighted in the README's philosophy.
Only 6KB minified with no JavaScript scrolling overhead, ensuring minimal performance impact on web projects.
Allows scrollbar styling entirely with CSS, supporting multiple styles per page or a default Mac OS look.
Tested on Chrome, Firefox, Safari, Edge, and IE11, providing consistent cross-browser compatibility.
Offers dedicated packages for React, Angular, and Vue, simplifying adoption in modern frontend stacks.
Limited to visual customization; does not support JavaScript-based scroll behaviors like infinite scroll or parallax effects.
Requires manual DOM handling for dynamic content, unlike drop-in solutions, which can increase initial development time.
Documentation is split across separate repositories for core and frameworks, making it harder to troubleshoot specific issues.
While IE11 is supported, older browsers may have rendering inconsistencies with CSS customizations, as noted in testing.