This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2017.
The -webkit-text-stroke-width CSS property specifies the width of the stroke for text.
/* Keyword values */ -webkit-text-stroke-width: thin; -webkit-text-stroke-width: medium; -webkit-text-stroke-width: thick; /* <length> values */ -webkit-text-stroke-width: 2px; -webkit-text-stroke-width: 0.1em; -webkit-text-stroke-width: 1mm; -webkit-text-stroke-width: 5pt; /* Global values */ -webkit-text-stroke-width: inherit; -webkit-text-stroke-width: initial; -webkit-text-stroke-width: revert; -webkit-text-stroke-width: revert-layer; -webkit-text-stroke-width: unset;
<line-width>The width of the stroke.
| Initial value | 0 |
|---|---|
| Applies to | all elements |
| Inherited | yes |
| Computed value | absolute <length>
|
| Animation type | discrete |
-webkit-text-stroke-width =
<line-width>
<line-width> =
<length [0,∞]> |
thin |
medium |
thick
p {
margin: 0;
font-size: 4em;
-webkit-text-stroke-color: red;
}
#thin {
-webkit-text-stroke-width: thin;
}
#medium {
-webkit-text-stroke-width: 3px;
}
#thick {
-webkit-text-stroke-width: 1.5mm;
}
<p id="thin">Thin stroke</p> <p id="medium">Medium stroke</p> <p id="thick">Thick stroke</p>
| Specification |
|---|
| Compatibility> # the-webkit-text-stroke-width> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
-webkit-text-stroke-width |
1 | 15 | 49 | 15 | 3 | 18 | 49 | 15 | 2 | 1.0 | 38 | 2 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-text-stroke-width