The W3C Geometry Interfaces implemented in JavaScript and polyfilled.
Clone or download
trusktr Merge pull request #8 from PaulCapron/master
Update DOMPoint to match the current draft spec (the one actually implemented by browsers)
Latest commit 41d8cca Jan 6, 2019

Geometry Interfaces

The W3C Geometry Interfaces implemented in JavaScript and polyfilled.

geometry-interfaces on NPM

In the box so far


Work in progress

Up next

Under consideration


If you're using a module system, just import the library after installing it from NPM:

import 'geometry-interfaces' // ES2015 Modules
// or
require('geometry-interfaces') // CommonJS
// or
define(['geometry-interfaces'], () => {}) // AMD

You can also clone this repo, then you'll see a global.js file in the root of the project that you can copy over to your project and load with a <script> tag, for example:

<script src='global.js'></script>

(You can rename the file of course.)

The global.js file is usually the one shipped with the last tagged version. Execute npm run build-global to update the file using the latest content in the repo.

If you don't want to polyfill everything and you're using a module system (f.e. Rollup, Webpack, Browserify, etc), import whatever you need directly:

import DOMMatrix from 'geometry-interfaces/DOMMatrix'


Disclaimer: I'm implementing these interfaces/APIs on an as-needed basis, so this project may not currently include all of the interfaces or APIs.

Consider bringing the web forward by making a pull request to add missing interfaces, APIs, or performance improvements (especially on the matrix calculations). :]


The word "dommetry" is a play on the words "geometry" and "DOMMatrix" put together. :D