Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The SVGPathElement.getPathData() method returns the sequence of path segments that corresponds to the path data, optionally normalizing the values and segment types.
getPathData() getPathData(options)
options OptionalAn optional object for controlling aspects of the path data retrieval process. This object may contain the following properties:
normalize OptionalA boolean value indicating whether the returned sequence of path segments is converted to the base set of absolute commands ('M', 'L', 'C' and 'Z'), with the values adjusted accordingly.
An array of path segments corresponding to the path data. If no valid path data exists, returns an empty sequence.
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.
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 getPathData() method will return an array with the raw path data, the same as it's set in the d attribute. With the normalize: true option set, it will return path data normalized to the base set of path commands:
const path = document.querySelector("path");
console.log(path.getPathData());
// Output: raw path data:
// [
// { type: "M", values: [0, 0] },
// { type: "h", values: [64] },
// { type: "v", values: [64] },
// { type: "h", values: [-64] },
// { type: "Z", values: [] }
// ]
console.log(path.getPathData({ normalize: true }));
// Output: normalized path data:
// [
// { type: "M", values: [0, 0] },
// { type: "L", values: [64, 0] },
// { type: "L", values: [64, 64] },
// { type: "L", values: [0, 64] },
// { type: "Z", values: [] }
// ]
| Specification |
|---|
| SVG Paths> # __svg__SVGPathData__getPathData> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
getPathData |
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/getPathData