Took a while to figure out how the internal SVG coordinate system is related to the DOM client coordinates. You just need: svg.createSVGPoint().matrixTransform(svg.getScreenCTM().inverse());
arguing with the guy is pointless. I have pretty extensive experience in that regard. I just meant to point out that everyone has its own opinion on that regard. And everyone seeks to solve own problems, even the means can be the same but they meant to do different things for different people.