-webkit-user-drag works in Chrome 4+, Edge 79+, Safari 3.1+, Opera 15+, and Samsung Internet 4+. Firefox and IE never added it. Learn the values and limits.

Prince Dewani
May 6, 2026
-webkit-user-drag is a non-standard WebKit CSS property that controls whether a user can drag an entire HTML element. It works in Chrome 4+, Edge 79+, Safari 3.1+ on macOS, Safari 3.2+ on iOS, Opera 15+, Samsung Internet 4+, and Android Browser 4.4+, while Firefox and Internet Explorer never added support.
This guide covers what -webkit-user-drag is, the browsers that support it, the auto, element, and none values, how it differs from the HTML draggable attribute, and the known issues.
-webkit-user-drag is a CSS extension that the WebKit team added to control whether the browser treats an HTML element as a drag source. It accepts three values, auto, element, and none, and gives developers a way to override the default drag behavior of links, images, and selected text.
All Chromium and WebKit browsers support -webkit-user-drag. Firefox and Internet Explorer never shipped support, so use the standard HTML draggable attribute as the cross-browser fallback.
Chrome supports -webkit-user-drag from Chrome 4 on Windows, macOS, Linux, and ChromeOS, and from Chrome 18 on Android. The property is recognized in every later release. Treat support as partial on mobile, since blink-based Chrome for Android reads the property but does not fire a drag operation when you set the element value.
Microsoft Edge supports -webkit-user-drag from Edge 79 on Windows, macOS, and Linux, the first Chromium-based release. Legacy EdgeHTML versions, Edge 12 to 18, did not support the property at all. Internet Explorer 11 in IE Mode also has no support, so target draggable="false" instead for those visitors.
Firefox does not support -webkit-user-drag on any desktop, ESR, or Android release. Mozilla never added the WebKit prefix, and there is no about:config flag to enable it. Use the standard HTML draggable attribute on Firefox to mark elements as draggable or non-draggable.
Safari supports -webkit-user-drag from Safari 3.1 on macOS and from Safari 3.2 on iPhone and iPad running iOS or iPadOS. Safari is the only browser where every value, including element, behaves the way the WebKit reference describes. Apple Developer documentation lists -webkit-user-drag as a first-class WebKit CSS extension.
Opera supports -webkit-user-drag from Opera 15 on Windows, macOS, and Linux, and from Opera Mobile 80 on Android. Both branches inherit the behavior from Chromium. Opera 9 to 12.1 on the legacy Presto engine did not support the property, and Opera Mobile 10 to 12.1 also lacked support.
Samsung Internet supports -webkit-user-drag from Samsung Internet 4 on Galaxy phones and tablets. Every later version recognizes the property, but the same Android Chromium quirk applies, since setting -webkit-user-drag: element does not actually start a drag on most devices.
Android Browser supports -webkit-user-drag from Android Browser 4.4 on, after the system WebView switched to Chromium. The legacy AOSP browser on Android 2.1 to 4.3 did not recognize the property. Firefox for Android also does not support it, so a Gecko fallback on Android still has to rely on the HTML draggable attribute.
Internet Explorer does not support -webkit-user-drag on any version, from IE 6 through IE 11. Microsoft has retired Internet Explorer. Use the HTML draggable attribute as the only cross-browser way to mark an element as draggable for any IE-mode user still on Windows.
Note: -webkit-user-drag breaks across Firefox, Internet Explorer, and most mobile browsers. Test it on real browsers and OS with TestMu AI. Try TestMu AI free!
-webkit-user-drag accepts three values, auto, element, and none. Each one tells WebKit how to decide whether the user can pick the element up.
The snippet below shows the three values applied to common page elements. Paste it into a stylesheet on a Chrome, Edge, Opera, or Safari build and the rules take effect on the next paint.
/* Default behavior: images, links, and selected text are draggable. */
.card {
-webkit-user-drag: auto;
}
/* Force a drag source on a div, even though a div is not draggable by default. */
.card.is-draggable {
-webkit-user-drag: element;
cursor: grab;
}
/* Block the default drag on logos, avatars, and product thumbnails. */
img.brand-logo,
img.user-avatar {
-webkit-user-drag: none;
}There is no inherited value: -webkit-user-drag is non-inherited, so a child element will not pick up the setting from its parent unless you target the child directly. The property has no animation type, no shorthand, and no JavaScript getter on the CSSStyleDeclaration interface beyond the standard webkitUserDrag camel-case alias.
-webkit-user-drag is a WebKit CSS property. The HTML draggable attribute is a standard HTML global attribute defined by the WHATWG HTML Living Standard. Both control whether an element can be dragged, but they differ on cross-browser reach, syntax, and the value set they accept.
| Dimension | -webkit-user-drag | HTML draggable |
|---|---|---|
| Type | Non-standard WebKit CSS property | Standard HTML global attribute |
| Standardization | None; not on a standards track | Part of the WHATWG HTML Living Standard |
| Browser reach | Chromium and Safari only; no Firefox, no IE | Every modern browser, including Firefox and IE 11 |
| Where you set it | In CSS or inline style attribute | On the HTML element with draggable="true" |
| Values | auto, element, none | true, false, auto |
| Default behavior | auto matches WebKit's built-in drag rules | auto matches the HTML drag rules per element type |
| Best fit | Single-engine apps targeting Safari or a Chromium WebView | Production apps that need to work everywhere |
If you only target Safari or a Chromium WebView, -webkit-user-drag works the same way the HTML attribute does, with one extra value, none, that lets you block the default drag of images and links from CSS alone. For everything else, the HTML draggable attribute is the safer choice.
-webkit-user-drag has the smallest cross-browser footprint of any CSS drag control. The painful edge cases land on Firefox, mobile WebKit, and a few open WebKit bugs.
In my experience, the cleanest cross-browser pattern is to set both -webkit-user-drag: none and draggable="false" on every image and avatar. Each one alone misses an engine: -webkit-user-drag does nothing on Firefox, and draggable="false" sometimes fails to block the default Safari drag on a link or an image. Combining them costs nothing and removes the ghost-image drag in every browser.
All -webkit-user-drag 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