Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The SVGPathElement.setPathData() method sets the sequence of path segments as the new path data.
setPathData(pathData)
pathDataAn array of path segments. Each path segment is an object with the following properties:
typeA path commands. If options.normalize is true this will be one of the absolute commands: 'M', 'L', 'C' and 'Z'.
valuesAn array or value containing the parameters for the corresponding command.
None (undefined).
Consider the following <path> element, drawing a square:
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64"> <path d="M0,0 h64 v64 h-64 z" /> </svg>
The code below uses getPathData() method to return the normalized path data as absolute commands. Setting the returned data back to the <path> element using the setPathData() method will result in the different set of path commands in the DOM:
const svgPath = document.querySelector("path");
const pathData = path.getPathData({ normalize: true });
svgPath.setPathData(pathData);
// <path d="M 0 0 L 64 0 L 64 64 L 0 64 Z" />
| Specification |
|---|
| SVG Paths> # __svg__SVGPathData__setPathData> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
setPathData |
No | No | 137 | No | No | No | 137 | No | No | No | No | No |
© 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/SVGPathElement/setPathData