Design custom scrollbars visually — exports WebKit + Firefox-standard CSS, live preview, one-click copy — browser-only
- Runs locally
- Category Color & Design
- Best for Moving from a visual idea to reusable color values.
Whole page styles every scroll container via `*`. One element scopes the rules to a single class you add to the container you want — safer for embedding in apps you do not fully control.
/* Standard properties — Firefox */
.custom-scrollbar {
scrollbar-width: thin;
scrollbar-color: #8b5cf6 #1e293b;
}
/* WebKit pseudo-elements — Chrome, Safari, Edge */
.custom-scrollbar::-webkit-scrollbar {
width: 10px;
height: 10px;
}
.custom-scrollbar::-webkit-scrollbar-track {
background: #1e293b;
border-radius: 8px;
}
.custom-scrollbar::-webkit-scrollbar-thumb {
background: #8b5cf6;
border-radius: 8px;
}
.custom-scrollbar::-webkit-scrollbar-thumb:hover {
background: #06e6d7;
}
.custom-scrollbar::-webkit-scrollbar-button {
display: none;
}
What this tool does
A visual editor for custom scrollbars that exports CSS for every modern browser at once. Drag the sliders to set scrollbar width, track color and radius, thumb color, hover color, and thumb radius; toggle the end buttons; pick from six presets (Aurora, Minimal, macOS, Dark, Neon, Classic). The right-hand panel is a real scrollable container that applies your style live, so you judge contrast against an actual page background before you ship.
The catch with scrollbar styling is that it lives in two separate worlds. Chrome, Safari, and Edge use the WebKit `::-webkit-scrollbar` pseudo-element family, which gives pixel-level control. Firefox ignores those entirely and honors only the standard `scrollbar-width` and `scrollbar-color` properties. Ship one without the other and half your visitors fall back to the browser default. This tool always emits a combined block that satisfies both, with the standard properties first so Firefox reads them cleanly.
Everything runs in your browser. No colors or settings are uploaded, the shareable URL encodes your design so a teammate opens the exact same scrollbar, and localStorage remembers your last edit.
Tool details
- Input
- Text + Numbers + Structured content
- The page exposes text boxes, numeric controls, file pickers, or structured inputs depending on the tool.
- Output
- Live result + Copy + Preview
- The result area focuses on usable output, with copy, download, or preview actions when supported.
- Privacy
- Browser-side processing
- The main tool logic does not call an external API, so inputs normally stay in the current tab.
- Save / share
- Shareable URL state
- Key settings are encoded in the URL so another person can reopen the same setup.
- Performance budget
- Initial JS <= 10 KB
- No WASM budget is declared, keeping the tool quick to open on mobile.
- Best fit
- Color & Design · Designer
- Category and role tags drive related tools, internal links, and quick fit checks.
How to use
-
1. Input
Paste or drop your content into the tool panel.
-
2. Process
Click the button. All processing is local in your browser.
-
3. Copy / Download
Copy the result or download to disk in one click.
How CSS Scrollbar Generator fits into your work
Use it while choosing, checking, converting, or documenting colors for real interface work.
Color jobs
- Moving from a visual idea to reusable color values.
- Checking contrast and accessibility before a UI ships.
- Keeping brand, design, and implementation color decisions aligned.
Color checks
- Verify contrast against the actual background, not just a sample swatch.
- Check dark and light themes separately when both exist.
- Copy the final format your design system or codebase expects.
Good next steps
These links move the current task into a more complete workflow.
- 1 CSS Grid Visual Generator CSS grid visual generator — drag to set columns/rows, place grid-area named regions, copy ready CSS + HTML, with 12 layout templates. Open
- 2 CSS Border Radius Generator Border radius generator — independent 8-corner control + blob shape randomizer, live preview, copy CSS or SVG path. Open
- 3 CSS Loaders Generator CSS loaders — 40+ pure-CSS spinners/skeletons, customize color/size/speed, copy ready-to-use code. Open
Real-world use cases
Brand a dashboard's scroll areas to match the design system
Your SaaS dashboard has a dozen scrollable panels and the default gray OS scrollbar clashes with the dark theme. Pick the Dark preset, nudge the thumb color to your brand accent, set the Scope to one element, and add `class="custom-scrollbar"` to each panel wrapper. Paste the combined block once into your global stylesheet. Chrome and Safari users get the pixel-perfect bar; Firefox users get the matching thumb and track colors. Five minutes versus reverse-engineering the WebKit selector names from memory.
Hide the scrollbar on a horizontal card carousel
A row of product cards scrolls horizontally and the visible scrollbar looks clumsy under the cards. Set width to 0 — the export becomes a zero-size WebKit bar plus `scrollbar-width: none` for Firefox — scope it to `.custom-scrollbar`, and apply that class to the carousel track. The row still scrolls by drag, wheel, and trackpad, but the bar is gone in every browser. Keep this pattern for decorative strips only, not for content users must be able to scroll deliberately.
Make a code block's scrollbar readable on a light docs site
Long code samples on a documentation page scroll horizontally, and the faint default scrollbar is invisible against the white background. Start from Minimal, bump the thumb to a mid-gray that passes against white, give it a 4px radius so it reads as a deliberate element, and scope it to `.custom-scrollbar` on your `<pre>` wrapper. The live preview here uses the same dark stage, so flip your real page to light and confirm the contrast before shipping.
Hand a designer-approved scrollbar to engineering as a shareable link
A designer dials in the exact width, radius, and colors in this tool, then copies the page URL — the full config is encoded in the query string. They drop the link in the ticket. The engineer opens it, sees the identical scrollbar, clicks Copy CSS, and pastes. No screenshot round-trips, no "what hex was that thumb again" follow-ups, no translating a Figma spec into WebKit selector names by hand.
Audit a third-party widget's scrollbar before overriding globally
Before you slap a global `*::-webkit-scrollbar` rule on a page that embeds a chat widget or a maps SDK, switch Scope to Whole page and read the generated selector. Seeing the literal `*` reminds you that the rule will also repaint scrollbars inside iframes' same-origin content and any third-party component on the page. If that is too broad, flip back to the class scope and target only the containers you own.
Common pitfalls
Shipping only the `::-webkit-scrollbar` rules and assuming you are done. Firefox completely ignores them — your Firefox users see the OS default. Always include the standard `scrollbar-width` / `scrollbar-color` block, which this tool generates for you.
Writing `scrollbar-color` with the track first. The standard syntax is `scrollbar-color: <thumb> <track>` — thumb color comes first. Swapping them gives a track-colored thumb on a thumb-colored track, which usually looks inverted. Copy the order this tool outputs.
Putting a pixel value in `scrollbar-width`. Firefox only accepts `auto`, `thin`, or `none` — `scrollbar-width: 10px` is invalid and silently dropped, so the property does nothing. The pixel width only applies to the WebKit bar; this tool maps your px onto the legal Firefox keyword automatically.
Privacy
Everything runs as plain JavaScript in your browser tab — the CSS is assembled locally and nothing about your colors, sizes, or settings is sent anywhere. There is no analytics on what you design. The one privacy caveat: the shareable URL encodes your full scrollbar config in the query string, so if you paste a "share link" into Slack or a ticket, the destination server's access log will record those values. They are just colors and pixel sizes, so for scrollbar design that is harmless — but be aware the link carries the config, not a private session.
FAQ
Tool combos
Folks in your role tend to reach for these alongside this tool.
- ASCII Art Generator Generate ASCII art from text — figlet-style banners, multiple fonts.
- Aspect Ratio Calculator Calculate aspect ratio — fix any 1 of [width, height, ratio], get the other two.
- Avatar Generator Generate avatars from initials, identicons, or random shapes. Download PNG/SVG.
- Base64 Encoder & Decoder Encode or decode Base64 — text, files, and Data URLs. Runs entirely in your browser.