CSS clip-path works in Chrome 55+, Edge 79+, Firefox 54+, Safari 14+, Opera 42+, and Samsung Internet 6+. See full browser support, shape functions, and known issues.

Prince Dewani
May 6, 2026
CSS clip-path is a W3C property from the CSS Masking Module Level 1 that clips an element to a basic shape, an SVG path, or an SVG clipPath reference. It works unprefixed in Chrome 55+, Edge 79+, Firefox 54+, Safari 14+, Opera 42+, and Samsung Internet 6+, while older Chromium and WebKit builds need the -webkit-clip-path prefix and Internet Explorer never added support.
This guide covers what clip-path is, browsers that support it, the shape functions, animation, and known issues.
CSS clip-path is a W3C property from the CSS Masking Module Level 1 that clips an element to a smaller visible region. Pixels inside the clipping path show, pixels outside hide, and the layout box stays the same size. The value accepts a basic shape, an SVG path() string, or a url() reference to an inline clipPath.
Every modern desktop and mobile browser supports the unprefixed clip-path property, while older Chromium and WebKit builds need the -webkit-clip-path prefix and Internet Explorer never shipped any support. Global coverage reaches roughly 97% when partial, prefixed support is counted.
Chrome supports the unprefixed clip-path property from Chrome 55 on Windows, macOS, Linux, ChromeOS, and Android. Chrome 24 through 54 only accepted the prefixed -webkit-clip-path with basic shapes, and Chrome 4 through 23 had no support at all. Pair the unprefixed declaration with -webkit-clip-path when you target Chromium builds older than version 55.
Microsoft Edge supports the unprefixed clip-path from Edge 79 on Windows, macOS, Linux, and Android. The legacy EdgeHTML builds 12 through 18 only honored clip-path: url() with an inline SVG clipPath reference, ignoring basic shapes and the path() function. Chromium-based Edge tracks Chrome exactly, so the same prefixed fallback applies for Edge 79 and onward.
Firefox supports the full clip-path property with basic shapes, path(), and url() references from Firefox 54 on Windows, macOS, Linux, and Android. Firefox 3.5 through 53 supported only clip-path: url(#id) for inline SVG clipPath elements, with no basic shapes. Firefox does not need the -webkit- prefix at any version.
Safari supports the unprefixed clip-path from Safari 14 on macOS Big Sur and Safari on iOS 14 on iPhone and iPad. Safari 6.1 through 13 and Safari on iOS 7 through 13 supported clip-path only through the -webkit-clip-path prefix with basic shapes. Always pair the prefixed and unprefixed declarations for older Apple devices.
Opera supports the unprefixed clip-path from Opera 42 on Windows, macOS, Linux, and Android. Opera 15 through 41 only accepted the prefixed -webkit-clip-path because those builds tracked an older Chromium baseline. Opera Mini, which renders pages on a remote server, has no clip-path support and falls back to the unclipped element.
Samsung Internet supports the unprefixed clip-path from Samsung Internet 6 on Galaxy phones and tablets. Samsung Internet 1.5 through 5 only accepted -webkit-clip-path because those builds tracked an older Chromium baseline. Every release from version 6 forward inherits Chrome on Android behavior for basic shapes, path(), and url() references.
The legacy Android Browser shipped on Android 4.4 supported clip-path only through -webkit-clip-path with basic shapes. Modern Android Browser builds running on Chromium 55 and later inherit the unprefixed clip-path from the system WebView. Apps that embed Android WebView pick up unprefixed clip-path once the WebView updates past the Chromium 55 baseline.
Internet Explorer 5.5 through 11 do not support the clip-path property. The Trident engine ignores the rule, so the element renders unclipped. Microsoft has retired Internet Explorer 11, so users on supported Windows builds run Microsoft Edge, which supports the unprefixed clip-path from Edge 79 forward.
Note: CSS clip-path renders differently across older Blink, WebKit, and Samsung Internet builds. Test it on real browsers and OS with TestMu AI. Try TestMu AI free!
The clip-path property accepts seven shape functions, an SVG url() reference, and the geometry-box keywords for choosing the reference box. Each function maps to a distinct visual cutout pattern, and browser support varies by function.
Geometry-box keywords like border-box, padding-box, content-box, fill-box, stroke-box, and view-box can follow any shape function and tell the browser which reference box the shape is measured against. The default is border-box.
Set clip-path on both keyframes using the same shape function with the same number of points, then drive the change with a CSS transition or @keyframes rule. Mismatched shape types or vertex counts fall back to a discrete, instant swap.
/* Basic shape: clip a circle and pair with the WebKit prefix. */
.avatar {
-webkit-clip-path: circle(50% at center);
clip-path: circle(50% at center);
}
/* Polygon: a six-point hexagon. */
.hex {
-webkit-clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
}
/* Animate between two polygon shapes with matching vertex counts. */
.reveal {
-webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
transition: clip-path 400ms ease;
}
.reveal:hover {
-webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}The reveal pattern above starts with a zero-width polygon and animates out to the full element on hover. Drop the rules into a stylesheet, attach the matching class, and the clip animates on every browser that supports either the prefixed or unprefixed property.
CSS clip-path has a few sharp edges that show up only when you ship to production across browsers. Plan around these before you replace static SVG cutouts with a clip-path rule.
In my experience, the prefix gap catches more teams than any other clip-path quirk: a polished clip design ships, looks perfect in current Chrome and Safari, and silently drops on a two-year-old iPhone or Galaxy because the unprefixed declaration is the only one in the stylesheet, so always include both lines and run the page through a real Safari 13 device before release.
All CSS clip-path 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