// the find
geoman-io/leaflet-geoman
🍂🗺️ The most powerful leaflet plugin for drawing and editing geometry layers
leaflet-geoman is the de facto replacement for the abandoned leaflet.draw plugin, adding drawing, editing, cutting, rotating, splitting, and snapping of all Leaflet geometry types. It's the tool you reach for when you need a full geometry editor on a Leaflet map and don't want to build one yourself. Actively maintained with a healthy Cypress E2E suite covering every shape type.
Has a Pro tier with advanced features but the free version covers most real use cases including MultiPolygons, GeoJSON import/export, and snapping. 28 language files included — internationalization is not an afterthought. Cypress tests per geometry type (circle.cy.js, polygon.cy.js, etc.) mean regressions get caught before release. TypeScript definitions ship in the repo itself rather than being outsourced to DefinitelyTyped.
Still plain ES5-style class inheritance with Leaflet mixins rather than modern module design — the codebase reads like 2017 and tree-shaking is not really possible. The free/Pro split is opaque: the README links to a demo and docs but doesn't list exactly what's gated behind payment, so you only find out at integration time. Unit test coverage is thin — a handful of helper tests in Vitest while the real behavior lives entirely in browser-based Cypress tests, making fast TDD painful. Snapping across layer groups has known edge cases that surface in complex maps and tend to require workarounds rather than fixes.