This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
* Some parts of this feature may have varying levels of support.
The SVGMarkerElement interface provides access to the properties of <marker> elements, as well as methods to manipulate them. The <marker> element defines the graphics used for drawing marks on a shape.
The following properties and methods all return, or act on the attributes of the <marker> element represented by SVGMarkerElement.
This interface also inherits properties from its parent, SVGElement.
SVGMarkerElement.markerUnits Read only
Returns an SVGAnimatedEnumeration object, with one of the following values:
SVG_MARKERUNITS_UNKNOWN which means that the markerUnits attribute has a value other than the two predefined keywords.
SVG_MARKERUNITS_USERSPACEONUSE which means that the markerUnits attribute has the keyword value userSpaceOnUse.
SVG_MARKERUNITS_STROKEWIDTH which means that the markerUnits attribute has the keyword value strokeWidth.
SVGMarkerElement.markerWidth Read only
Returns an SVGAnimatedLength object containing the width of the <marker> viewport.
SVGMarkerElement.markerHeight Read only
Returns an SVGAnimatedLength object containing the height of the <marker> viewport.
SVGMarkerElement.orientType Read only
Returns an SVGAnimatedEnumeration object, with one of the following values:
SVG_MARKER_ORIENT_UNKNOWN which means that the orient attribute has a value other than the two predefined keywords.
SVG_MARKERUNITS_ORIENT_AUTO which means that the orient attribute has the keyword value auto.
SVG_MARKERUNITS_ORIENT_ANGLE which means that the orient attribute has an <angle> or <number> value indicating the angle.
SVGMarkerElement.orientAngle Read only
Returns an SVGAnimatedAngle object containing the angle of the orient attribute.
SVGMarkerElement.refX Read only
Returns an SVGAnimatedLength object containing the value of the refX attribute of the <marker>.
SVGMarkerElement.refY Read only
Returns an SVGAnimatedLength object containing the value of the refY attribute of the <marker>.
SVGMarkerElement.viewBox Read only
Returns an SVGAnimatedRect object containing an SVGRect which contains the values set by the viewBox attribute on the <marker>.
SVGMarkerElement.preserveAspectRatio Read only
Returns an SVGPreserveAspectRatio object which contains the values set by the preserveAspectRatio attribute on the <marker> viewport.
This interface also inherits methods from its parent, SVGElement.
SVGMarkerElement.setOrientToAuto()Sets the value of the orient attribute to auto.
SVGMarkerElement.setOrientToAngle()Sets the value of the orient attribute to a specific angle value.
The following SVG will be referenced in the examples.
<svg id="svg" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<defs>
<marker
id="arrow"
viewBox="0 0 10 10"
refX="5"
refY="5"
markerWidth="6"
markerHeight="6"
orient="90">
<path d="M 0 0 L 10 5 L 0 10 z" />
</marker>
</defs>
</svg>
The markerWidth property returns an SVGAnimatedLength which contains an SVGLength with the value of the markerWidth attribute.
let marker = document.getElementById("arrow");
console.log(marker.markerWidth.baseVal.value); // 6
In the following example the value of the orient attribute is updated using setOrientToAngle() using an SVGAngle created using SVGElement.createSVGAngle().
let svg = document.getElementById("svg");
let marker = document.getElementById("arrow");
console.log(marker.orientAngle.baseVal.value); // value in SVG above - 90
let angle = svg.createSVGAngle();
angle.value = "110";
marker.setOrientToAngle(angle);
console.log(marker.orientAngle.baseVal.value); // new value - 110
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
SVGMarkerElement |
1 | 12 | 1.5 | ≤12.1 | 3 | 18 | 4 | ≤12.1 | 1 | 1.0 | 3 | 1 |
markerHeight |
1 | 12 | 1.5 | ≤12.1 | 3 | 18 | 4 | ≤12.1 | 1 | 1.0 | 3 | 1 |
markerUnits |
1 | 12 | 1.5 | ≤12.1 | 3 | 18 | 4 | ≤12.1 | 1 | 1.0 | 3 | 1 |
markerWidth |
1 | 12 | 1.5 | ≤12.1 | 3 | 18 | 4 | ≤12.1 | 1 | 1.0 | 3 | 1 |
orient |
No | No | No | No | 13.1 | No | No | No | 13.4 | No | No | 13.4 |
orientAngle |
1 | 12 | 1.5 | ≤12.1 | 3 | 18 | 4 | ≤12.1 | 1 | 1.0 | 3 | 1 |
orientType |
1 | 12 | 1.5 | ≤12.1 | 3 | 18 | 4 | ≤12.1 | 1 | 1.0 | 3 | 1 |
preserveAspectRatio |
1 | 12 | 2 | ≤12.1 | 3 | 18 | 4 | ≤12.1 | 1 | 1.0 | 3 | 1 |
refX |
1 | 12 | 1.5 | ≤12.1 | 3 | 18 | 4 | ≤12.1 | 1 | 1.0 | 3 | 1 |
refY |
1 | 12 | 1.5 | ≤12.1 | 3 | 18 | 4 | ≤12.1 | 1 | 1.0 | 3 | 1 |
setOrientToAngle |
1 | 12 | 1.5 | ≤12.1 | 3 | 18 | 4 | ≤12.1 | 1 | 1.0 | 3 | 1 |
setOrientToAuto |
1 | 12 | 1.5 | ≤12.1 | 3 | 18 | 4 | ≤12.1 | 1 | 1.0 | 3 | 1 |
viewBox |
1 | 12 | 2 | ≤12.1 | 3 | 18 | 4 | ≤12.1 | 1 | 1.0 | 3 | 1 |
© 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/SVGMarkerElement