This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Note: This feature is available in Web Workers.
The CanvasGradient.addColorStop() method adds a new color stop, defined by an offset and a color, to a given canvas gradient.
addColorStop(offset, color)
offsetA number between 0 and 1, inclusive, representing the position of the color stop. 0 represents the start of the gradient and 1 represents the end.
colorNone (undefined).
IndexSizeError DOMException
Thrown if offset is not between 0 and 1 (both included).
SyntaxError DOMException
Thrown if color cannot be parsed as a CSS <color> value.
This example uses the addColorStop method to add stops to a linear CanvasGradient object. The gradient is then used to fill a rectangle.
<canvas id="canvas"></canvas>
const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");
let gradient = ctx.createLinearGradient(0, 0, 200, 0);
gradient.addColorStop(0, "green");
gradient.addColorStop(0.7, "white");
gradient.addColorStop(1, "pink");
ctx.fillStyle = gradient;
ctx.fillRect(10, 10, 200, 100);
| Specification |
|---|
| HTML> # dom-canvasgradient-addcolorstop-dev> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
addColorStop |
1 | 12 | 1.5 | 9 | 2 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 | 1 |
CanvasGradient
CanvasRenderingContext2D.createLinearGradient()CanvasRenderingContext2D.createRadialGradient()
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/CanvasGradient/addColorStop