CSS overflow works in Chrome 4+, Edge 12+, Firefox 2+, Safari 3.1+, Opera 10+, Samsung Internet 4+, and IE 6+. Learn the values and the known issues.

Prince Dewani
May 1, 2026
CSS overflow is a CSS 2.1 shorthand property that controls how a box handles content that extends past its padding edge. It works in Chrome 4+, Edge 12+, Firefox 2+, Safari 3.1+, Opera 10+, Samsung Internet 4+, and Internet Explorer 6+, while the newer overflow: clip value ships from Chrome 90, Firefox 81, and Safari 16.
This guide covers what CSS overflow is, the browsers that support it, the accepted values, overflow-x versus overflow-y, and the known issues.
CSS overflow is a shorthand property defined in the W3C CSS Overflow Module Level 3. It controls how content that runs past a box's padding edge is shown, clipped, or scrolled. It is shorthand for overflow-x and overflow-y, and accepts visible, hidden, clip, scroll, and auto.
CSS overflow has near-universal browser support. Every shipping desktop and mobile browser supports the property with the visible, hidden, scroll, and auto values, and modern engines also support the newer clip value.
Chrome supports CSS overflow by default from Chrome 4 on Windows, macOS, Linux, ChromeOS, and Android. The visible, hidden, scroll, and auto values have shipped since the first Blink release. Chrome added overflow: clip from Chrome 90, and the clip value works on every Chromium-based browser that follows the same release line.
Microsoft Edge supports CSS overflow by default from Edge 12 on Windows, macOS, and Linux. Legacy EdgeHTML 12 to 18 supported the visible, hidden, scroll, and auto values. Chromium-based Edge from Edge 79 added overflow: clip from Edge 90 and matches Chrome on every other value.
Firefox supports CSS overflow by default from Firefox 2 on Windows, macOS, Linux, and Android. The base values have shipped since the early Gecko releases. Firefox added overflow: clip from Firefox 81, and Firefox treats the legacy overflow: overlay value as overflow: auto rather than parsing it as a separate behavior.
Safari supports CSS overflow by default from Safari 3.1 on macOS and from Safari 3.2 on iOS. The visible, hidden, scroll, and auto values have shipped on every WebKit version since. Safari added overflow: clip from Safari 16 on macOS Ventura and Safari 16 on iOS 16; older Safari builds fall back to overflow: hidden behavior when they encounter clip.
Opera supports CSS overflow by default from Opera 10 on desktop. Opera Mobile 12 to 12.1 had a known regression that broke overflow on some sites, and from Opera Mobile 14 on the Blink engine the property works the same way it does on Chrome. Opera added overflow: clip from Opera 76 on the same Chromium 90 base.
Samsung Internet supports CSS overflow by default from Samsung Internet 4 on Galaxy phones and tablets. The browser shares the underlying Chromium engine with Chrome on Android, so it picks up overflow: clip from Samsung Internet 15 once the device updates to a build based on Chromium 90 or later.
Chrome for Android supports CSS overflow by default from Chrome 18, and the legacy Android Browser supports it from Android Browser 4.4 on KitKat. Android Browser 2.1 to 4.3 did not support CSS overflow on Gingerbread, Honeycomb, Ice Cream Sandwich, or Jelly Bean. Modern Android WebView inherits the Chromium engine, so embedded apps pick up overflow updates as the system WebView refreshes.
Internet Explorer 6 through 11 support CSS overflow with the visible, hidden, scroll, and auto values. IE does not support overflow: clip or the legacy overflow: overlay alias. Microsoft has retired Internet Explorer, so users on Windows who need overflow: clip should switch to Microsoft Edge 90 or later.
Note: CSS overflow behaves differently across Safari, iOS, and older Android Browser builds. Test it on real browsers and OS with TestMu AI. Try TestMu AI free!
CSS overflow accepts five keyword values. Each one changes whether the box clips its content, whether scrollbars appear, and whether the box becomes a scroll container.
overflow-x and overflow-y are the longhand properties that the overflow shorthand expands into. overflow-x controls horizontal overflow on the inline axis, and overflow-y controls vertical overflow on the block axis. Setting overflow with one value applies that value to both axes; setting it with two values applies the first to overflow-x and the second to overflow-y.
CSS overflow ships in every modern browser, but the way each engine paints scrollbars, handles momentum scrolling, and combines overflow with sticky or transformed children still trips up production sites.
In my experience, the failure that bites teams the most is the overflow: hidden plus position: sticky combo, where a header that is sticky inside a scrollable card silently stops sticking because a wrapper four levels up has overflow: hidden for an unrelated reason. The fix is to move the sticky element out of the clipping wrapper, not to fight the sticky rule itself.
All CSS overflow version numbers and platform notes in this guide come from these primary sources:
Did you find this page helpful?
More Related Hubs
TestMu AI forEnterprise
Get access to solutions built on Enterprise
grade security, privacy, & compliance