README.md

July 22, 2026 ยท View on GitHub

Terra Draw logo

Terra Draw CI Badge npm Version GitHub Sponsors

Frictionless map drawing across mapping libraries.

Terra Draw centralizes map drawing logic and provides a host of out-of-the-box drawing modes that work across different JavaScript mapping libraries. It also allows you to bring your own modes!

An example of drawing geodesic lines using Terra Draw with Leaflet

Library Support

Terra Draw uses the concept of 'adapters' to allow it to work with a host of different mapping libraries. Built-in adapters are currently exposed as different packages in this monorepo; you can find out more in the adapters guide. The currently supported libraries are:

LibraryVersion supportednpm package
Leafletv1terra-draw-leaflet-adapter
OpenLayersv10terra-draw-openlayers-adapter
MapLibre GL JSv4/5terra-draw-maplibre-gl-adapter
Google Maps JS APIv3terra-draw-google-maps-adapter
Mapbox GL JSv3terra-draw-mapbox-gl-adapter
ArcGIS JavaScript SDKv4terra-draw-arcgis-adapter

Getting Started

Please see the the getting started guide - this provides a host of information on how to get up and running with Terra Draw. You can see the auto generated API docs on the Terra Draw website.

Releases and Changelogs

We create GitHub releases when we release new packages. We also keep automated changelogs that are created for each package upon release, based off of the conventional commits format. You can find the generated CHANGELOG.md file in the corresponding package folder.

Development & Contributing

Project Website

You can check out the official Terra Draw website at terradraw.io. If you are interested in contributing to the website please see this repository.

Sponsorship

Terra Draw is made possible by companies and organisations that want to see it thrive. Please see the Sponsorship page for more information about how to sponsor the work done here.

Contact

Email: contact@terradraw.io

License

MIT