Get dimension of a path in SVG Get dimension of a path in SVG javascript javascript

Get dimension of a path in SVG


You can call getBoundingClientRect() method on your path to get dimensions. It will return a ClientRect object:

var w = myPath.getBoundingClientRect().width;var h = myPath.getBoundingClientRect().height;

There is also a getScreenCTM() method, which returns the transformation matrix in the current screen pixels of the element it was called on.the spec says:

[getScreenCTM()] Returns the transformation matrix from current user units (i.e., after application of the ‘transform’ attribute, if any) to the parent user agent's notice of a "pixel". [...] Note that null is returned if this element is not hooked into the document tree.


First off all, keep in mind that path cannot have a width. Its a set of coords. The browser uses that info along with the drawing method to connect the coords and create a visible shape.

Secondly, the bounding box is a snapshot of when the SVG was rendered. That is why you don't get the updated width on resize.

A workaround I guess would be to get the width of the conatiner element to the SVG (div or something else).

Maybe some of the libraries may provide some utility method to figure this out.