Custom Scrollbar CSS Generator - Online Webkit & Firefox
Design a fully styled scrollbar with colors, width, and border radius. Get the CSS for Chrome and Firefox.
UD5 Toolkit
Test and compare how overscroll-behavior CSS property prevents pull-to-refresh and scroll chaining.
Best experienced on mobile — try scrolling each phone simulator to the edge!
body { overscroll-behavior-y: none; } to prevent pull-to-refresh on this entire page.
Try it on mobile!
Over-scroll effects propagate to ancestor scroll containers. Pull-to-refresh is enabled on mobile. Best for general web pages.
overscroll-behavior: auto;
Stops scroll chaining to parent elements. The element retains its own elastic bounce effect. Great for modals & sidebars.
overscroll-behavior: contain;
Completely disables over-scroll effects and scroll chaining. Prevents pull-to-refresh on mobile. Ideal for PWAs and full-screen apps.
overscroll-behavior: none;
overscroll-behavior is a CSS property that controls what happens when a user scrolls past the boundary of a scrollable area. By default (auto), the scroll momentum "chains" to parent containers and can trigger browser-level actions like pull-to-refresh on mobile. Using contain or none gives you fine-grained control over this behavior, improving UX for modals, drawers, and single-page applications.
contain if you want to keep the elastic bounce within the element but stop it from triggering a page-level refresh.
Common use cases:
overscroll-behavior: contain on the modal body so scrolling inside doesn't move the background page.body { overscroll-behavior-y: none; } to prevent accidental pull-to-refresh and make the app feel native.overscroll-behavior-x: contain to prevent horizontal swipe from triggering page navigation gestures.overscroll-behavior-y: none to body or html prevents the entire page from triggering pull-to-refresh. This is commonly used in Progressive Web Apps (PWAs). Try the toggle above on your mobile device to experience it live on this very page.
| Browser | Minimum Version | Notes |
|---|---|---|
| Chrome | 63+ | Full support |
| Firefox | 59+ | Full support |
| Safari | 16+ | macOS Ventura & iOS 16+ |
| Edge | 79+ | Chromium-based, full support |
| Opera | 50+ | Full support |
| Samsung Internet | 8.2+ | Full support |
Design a fully styled scrollbar with colors, width, and border radius. Get the CSS for Chrome and Firefox.
Apply user‑select: none, text, all and see how it affects selection. Copy the CSS snippet for your UI elements.
Animate elements as they enter and exit the viewport using view() timeline. Parallax and reveal effects without JS.
Style a drop cap using the initial‑letter property. Set size and sink. Modern alternative to pseudo‑element hacks.
Style a drop cap using the initial‑letter property. Set size and sink. Modern alternative to pseudo‑element hacks.
Enter min and max font sizes and viewport widths to generate a perfect CSS clamp() expression. Fluid typography without media queries.
Select a ratio (1.25, 1.333, 1.5) and a base size to generate a full typographic scale for h1‑h6. Copy CSS variables.
Explore the new two‑value display syntax like `display: block flex`. See what each inner/outer pair does visually.
Paste long text and split it into 2, 3, or 4 balanced CSS columns. Preview and copy HTML/CSS. For magazine layouts.
Toggle OpenType features like liga, smcp, tnum, and see the text update. Support for variable fonts. Typography nerds.
Write expressions with clamp(), min(), max(), abs(), sign(), round() and see the computed value. Modern CSS calculations.
Beautify and format your CSS stylesheets instantly. Organize, minify, or prettify CSS code for better readability. Processed securely on client-side.
Make your JavaScript code more readable with this online beautifier. Format and indent JS automatically. Works entirely in your browser, protecting your code privacy.
Define min and max font sizes and viewport widths. Generate a complete fluid type scale using CSS clamp() for all headings.
Design a pure CSS tooltip with custom text, position (top/bottom/left/right), and arrow. Copy the clean code.
Connect a game controller and see every button press, axis movement, and vibration test. Uses the Gamepad API.
Type JavaScript expressions and see output like a real browser console. Supports console.log, error, warn. Use for quick testing without DevTools.
Enter L*a*b* values and see the corresponding RGB and hex color. Useful for advanced color manipulation.
Pomodoro timer that saves completed sessions to localStorage. View daily/weekly stats. Boost productivity with data.
Calculate resistor values for transistor fixed bias or voltage divider configuration. Quick quiescent point analysis.
A visual guide to common copy‑editing and proofreading symbols. Click a mark to see its meaning. For writers.
Set a short timer with a themed emoji animation (e.g., pizza cooking). A playful visual countdown.
Test the new HTML popover attribute for creating accessible tooltips, menus, and dialogs without JavaScript. Copy code snippets.
Paste any JavaScript snippet and get a ready‑to‑drag bookmarklet link. Minify and encode automatically. Pure client.
Create simple 2‑ or 3‑set Venn diagrams by entering comma‑separated lists. Shareable via URL fragment. No account.
Emojis are scrambled; you must reorder them to form the correct phrase or title. Fun word play.
Find equivalent colors across DMC, Anchor, and Madeira embroidery floss brands. Enter a code to see matches. Local reference database.
Enter frame size and image size to calculate mat borders. Visual preview. Precise framing.
Write a JavaScript snippet and get a ready‑to‑drag bookmarklet link. With minification and encoding. Easy browser tools.
Paste a URL or HTML to detect known vulnerable JavaScript library versions. Quick security audit. Client‑side only.