# MapLibre-Geoman > MapLibre-Geoman is a MapLibre plugin for creating and editing geometry layers. It supports drawing, editing, dragging, cutting, rotating, splitting, scaling, measuring, snapping, and pinning markers, polygons, polylines, circles, rectangles, and more. Source: https://geoman.io/docs/maplibre ## Getting Started - [Basic Usage and Installation](https://geoman.io/docs/maplibre/basics): Installation guide, basic setup, and initialization for MapLibre-Geoman and Mapbox-Geoman (free and pro). - [Configuring Geoman](https://geoman.io/docs/maplibre/configuring-geoman): Configure Geoman controls, styles, settings, and layer behaviors through the options object. - [Geoman Events](https://geoman.io/docs/maplibre/events): Event system reference for listening to draw, edit, drag, cut, rotate, and other geometry interactions. - [Modes Handling](https://geoman.io/docs/maplibre/mode-switching): Enable, disable, and toggle draw, edit, and helper modes using the mode handling API. ## Draw Modes - [Draw Circle](https://geoman.io/docs/maplibre/draw-modes/draw-circle): Draw circles on the map by defining a center point and radius. - [MapLibre Circle Markers: Drawing and GeoJSON](https://geoman.io/docs/maplibre/draw-modes/draw-circle_marker): Draw fixed-size circle markers with MapLibre-Geoman. Compare markers and circles, enable drawing after initialization, and export points as GeoJSON. - [Draw Custom Shape ⭐](https://geoman.io/docs/maplibre/draw-modes/draw-custom_shape): Draw custom predefined shapes like arrows or stars using GeoJSON templates. - [Draw Ellipse](https://geoman.io/docs/maplibre/draw-modes/draw-ellipse): Draw ellipses on the map by defining a center point and two semi-axis radii. - [Draw Freehand ⭐](https://geoman.io/docs/maplibre/draw-modes/draw-freehand): Draw freehand shapes on the map by clicking and dragging. - [Draw Line](https://geoman.io/docs/maplibre/draw-modes/draw-line): Draw polylines on the map by clicking to place vertices. - [Draw Marker](https://geoman.io/docs/maplibre/draw-modes/draw-marker): Add point markers to the map by clicking on locations. - [Draw Polygon](https://geoman.io/docs/maplibre/draw-modes/draw-polygon): Draw polygons on the map by clicking to place vertices and closing the shape. - [Draw Rectangle](https://geoman.io/docs/maplibre/draw-modes/draw-rectangle): Draw rectangles on the map by clicking two corner points. - [Draw Text Marker](https://geoman.io/docs/maplibre/draw-modes/draw-text_marker): Add text labels to the map by clicking and entering custom text. ## Edit Modes - [Add Hole ⭐](https://geoman.io/docs/maplibre/edit-modes/edit-add_hole): Punch an interior ring (hole) into a selected polygon or multipolygon. - [Add Part ⭐](https://geoman.io/docs/maplibre/edit-modes/edit-add_part): Append a disjoint part to a selected polygon, promoting it to a multipolygon. - [Edit](https://geoman.io/docs/maplibre/edit-modes/edit-change): Edit feature vertices to change the geometry shape. - [Copy ⭐](https://geoman.io/docs/maplibre/edit-modes/edit-copy): Copy features to duplicate them on the map. - [Cut](https://geoman.io/docs/maplibre/edit-modes/edit-cut): Cut and subtract geometry from existing features. - [Remove](https://geoman.io/docs/maplibre/edit-modes/edit-delete): Delete features from the map. - [Difference ⭐](https://geoman.io/docs/maplibre/edit-modes/edit-difference): Compute the geometric difference between overlapping features. - [Drag](https://geoman.io/docs/maplibre/edit-modes/edit-drag): Drag and reposition features on the map. - [Explode ⭐](https://geoman.io/docs/maplibre/edit-modes/edit-explode): Split a selected multipolygon into separate single-polygon features. - [Lasso ⭐](https://geoman.io/docs/maplibre/edit-modes/edit-lasso): Select multiple features by drawing a freehand lasso selection area. - [Line Simplification ⭐](https://geoman.io/docs/maplibre/edit-modes/edit-line_simplification): Simplify polyline and polygon vertices to reduce complexity. - [Merge Parts ⭐](https://geoman.io/docs/maplibre/edit-modes/edit-merge_parts): Merge several selected polygon/multipolygon features into a single multipolygon. - [Remove Ring ⭐](https://geoman.io/docs/maplibre/edit-modes/edit-remove_ring): Remove a hole or a whole part from a selected polygon or multipolygon. - [Rotate](https://geoman.io/docs/maplibre/edit-modes/edit-rotate): Rotate features around their center point. - [Scale ⭐](https://geoman.io/docs/maplibre/edit-modes/edit-scale): Scale features to resize them proportionally. - [Select ⭐](https://geoman.io/docs/maplibre/edit-modes/edit-select): Click features to drive the global selection, which gates the sub-editing modes (add hole, add part, remove ring, explode, merge parts). - [Split ⭐](https://geoman.io/docs/maplibre/edit-modes/edit-split): Split features into multiple parts using a cutting line. - [Union ⭐](https://geoman.io/docs/maplibre/edit-modes/edit-union): Merge overlapping features into a single combined geometry. ## Helper Modes - [Auto Trace ⭐](https://geoman.io/docs/maplibre/helper-modes/helper-auto_trace): Automatically trace along existing feature edges when drawing new shapes. - [Click to Edit ⭐](https://geoman.io/docs/maplibre/helper-modes/helper-click_to_edit): Let users start editing a feature simply by clicking it, without first selecting an edit tool. - [Geofencing ⭐](https://geoman.io/docs/maplibre/helper-modes/helper-geofencing): Constrain where features may be drawn or edited and react to containment and intersection violations. - [Measurements ⭐](https://geoman.io/docs/maplibre/helper-modes/helper-measurements): Display live distance, area, and perimeter measurements during drawing and editing. - [Pin ⭐](https://geoman.io/docs/maplibre/helper-modes/helper-pin): Pin markers to specific positions that persist across interactions. - [Shape Markers ⭐](https://geoman.io/docs/maplibre/helper-modes/helper-shape_markers): The internal helper that renders and manages the vertex and edge markers used while editing a shape. - [Snap Guides ⭐](https://geoman.io/docs/maplibre/helper-modes/helper-snap_guides): Display alignment guides when drawing or editing features. - [Snapping](https://geoman.io/docs/maplibre/helper-modes/helper-snapping): Snap features to nearby vertices and edges during drawing and editing. - [Zoom to Features](https://geoman.io/docs/maplibre/helper-modes/helper-zoom_to_features): Zoom the map viewport to fit selected features. ## Data - [Exporting GeoJSON](https://geoman.io/docs/maplibre/exporting-data): Export features as GeoJSON FeatureCollections with filtering by source, shape type, or specific features. - [Feature IDs](https://geoman.io/docs/maplibre/feature-ids): How Geoman assigns, tracks, and manages feature IDs during import, export, and editing. - [Importing Geojson](https://geoman.io/docs/maplibre/importing-data): Import existing GeoJSON data into the map using importGeoJsonFeature and importGeoJson methods. ## API Reference - [Geoman Features API](https://geoman.io/docs/maplibre/features-instance): API reference for the Features instance: importing, exporting, querying, and manipulating map features. - [Geoman Instance API](https://geoman.io/docs/maplibre/geoman-instance-api): Complete API reference for the Geoman instance: initialization, mode management, global controls, and feature operations. - [Geoman Options API](https://geoman.io/docs/maplibre/geoman-options-api): API reference for GmOptions: control configuration, mode state management, settings, and layer styles. ## Other - [MapLibre-Geoman Examples for React, Vue, Next.js and Vite](https://geoman.io/docs/maplibre/examples): Runnable code examples for Geoman, with MapLibre-focused demos that map directly to Mapbox packages.