CSS resize works in Chrome 4+, Edge 79+, Firefox 4+, Safari 4+ on macOS, Opera 15+, and Samsung Internet 5+. iOS Safari and IE never support it.

Prince Dewani
May 1, 2026
CSS resize is a W3C CSS Basic User Interface Module Level 4 property that lets users drag a box to change its width, height, or both. It works in Chrome 4+, Edge 79+, Firefox 4+, Safari 4+ on macOS, Opera 15+, and Samsung Internet 5+, while iOS Safari and IE never support it.
This guide covers what CSS resize is, the browsers that support it, the values, how to disable it on a textarea, and the known issues.
CSS resize is a property defined in the W3C CSS Basic User Interface Module Level 4. It paints a small corner grip on an element so the user can drag it to a new width, height, or both. It accepts the keywords none, both, horizontal, vertical, block, and inline.
CSS resize ships in every modern desktop browser and in Chromium-based mobile browsers, but Safari on iOS and Internet Explorer have never added support. Global usage hovers around 82% based on the live caniuse data.
Chrome supports CSS resize by default from Chrome 4 on Windows, macOS, Linux, ChromeOS, and Android. The none, both, horizontal, and vertical keywords have shipped since the early Blink releases. The newer block and inline keywords from CSS Basic User Interface Module Level 4 have shipped since Chrome 118 and follow the element's writing-mode and direction.
Microsoft Edge supports CSS resize by default from Edge 79 on Windows, macOS, and Linux, the first Chromium-based release. Legacy EdgeHTML 12 to 18 did not support the property, and pages that targeted those builds had to leave a textarea on the default user-agent style or fall back to a script handle.
Firefox supports CSS resize by default from Firefox 4 on Windows, macOS, Linux, and Android. Firefox lets the user drag the element below its natural content size as long as min-width and min-height allow it, which differs from older WebKit. Firefox added the block and inline keywords from Firefox 121.
Safari supports CSS resize by default from Safari 4 on macOS. Safari on iOS does not support the property on any version, so the corner grip never paints on iPhone or iPad regardless of the iOS version. Older WebKit clamped the drag at the natural content size; Safari 16 on macOS Ventura and later let the user drag the element smaller as long as min-width and min-height allow it.
Opera supports CSS resize by default from Opera 15 on desktop, the first Blink-based release. Opera 12.1 had partial support on the legacy Presto engine, and Opera 9 to 12 did not support the property at all. Opera Mini does not support CSS resize on any version because the proxy renderer flattens the page server-side.
Samsung Internet supports CSS resize by default from Samsung Internet 5 on Galaxy phones and tablets. The browser shares the underlying Chromium engine with Chrome on Android, so it picks up the same keyword updates as the system WebView refreshes on the device.
Modern Chrome for Android and the Android WebView pick up CSS resize from the same Chromium build that ships on the desktop. The legacy stock Android Browser on Android 2.1 to 4.4 did not support the property, so a textarea on those devices stayed locked at its rendered size. Most Android phones now run Chrome or a Chromium-based default browser, which removes the gap.
Internet Explorer 6 through 11 never shipped CSS resize. Pages that needed a resizable region on IE had to add a script-based drag handle on a corner div and update the width and height with mouse events. Microsoft has retired Internet Explorer, so users on Windows who need CSS resize should switch to Microsoft Edge 79 or later.
Note: CSS resize is missing on Safari for iOS and on every Internet Explorer build, and the WebKit corner grip behaves differently from Firefox. Test it on real browsers and OS with TestMu AI. Try TestMu AI free!
CSS resize accepts six keyword values. Each one decides whether the corner grip paints, which axis the user can drag, and whether the value follows the writing-mode of the element.
Browsers ship the textarea element with resize: both as the default user-agent style, so the corner grip paints unless your stylesheet overrides it. Setting resize: none on the textarea selector removes the grip and locks the size.
A minimal stylesheet rule looks like this:
.comment-box textarea {
resize: none;
overflow: auto;
min-height: 6rem;
}If the rule does not seem to apply, check that no inline style attribute or higher-specificity selector is setting resize back to both. The user-agent default is the lowest-specificity layer, so any author rule wins as long as the selector matches.
CSS resize ships in every modern desktop browser, but the way each engine paints the grip, the elements the property applies to, and the missing iOS Safari support still cause real cross-browser bugs.
In my experience, the failure that bites teams the most is the silent iOS gap, where a comment box that resizes fine on a desktop QA pass turns into a fixed-height field on iPhone, and product complains that users cannot expand the box. The fix is either a JavaScript auto-grow on input or a clear UX signal that mobile users get a fixed size.
All CSS resize 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