Map Drawer
Free online map drawing tool. Draw lines, polygons, freehand paths, arrows, and text on a real cartographic basemap — every shape comes back with accurate kilometres, miles, square kilometres, square miles, hectares, or acres. Eight base maps, undo / redo, mobile pinch-zoom, autosave. No sign-up, no watermark.
Five drawing tools, one map
Most online "draw on a map" tools give you a single primitive — drop pins, or fill polygons, or sketch freehand. Map Drawer combines five primitives that cover almost every map-annotation use case: Line (multi-segment paths), Polygon (closed shapes with area), Freehand (drag-to-sketch), Arrow (directional vectors), and Text (labels). Each one is one click away on the toolbar; mix and match within a single drawing.
The other distinctive feature is honesty about geography. Every distance and area on screen comes from spherical math, not pixel measurements — see the Real geographic measurements section for the math. That means a freehand sketch of the John Muir Trail returns ~340 km, a polygon outline of Texas returns ~696,000 km², and a JFK → LHR arrow reports the correct 5,571 km great-circle distance — automatically.
New here? The fastest way to feel the tool is to load one of the three quick-start presets in the sidebar — Cross-country road trip, Trans-Atlantic flight, or European migration arrows. Each loads a working map you can edit, restyle, or delete piece by piece. Five seconds from open to "drawing on a map".
How to draw on a map online
Six steps from blank base map to a finished annotated drawing — saved in your browser, ready for sharing or export.
- Pick a base map. Choose World, United States, or any of the six continents. The base map sets the geographic frame. Switch base maps freely from the toolbar — every basemap shares the same drawing tools and history.
- Choose a drawing tool. Pick from five drawing tools: Line (multi-segment paths), Polygon (closed shapes with area), Freehand (drag to sketch), Arrow (a→b vectors), and Text (place a label anywhere). Use Select to move, restyle, or delete an existing object.
- Draw on the map. For Line and Polygon, click to add vertices and double-click or press Enter to finish. For Arrow, click the start then click the end. For Freehand, press and drag — release to finish. For Text, click where you want the label and type. Pinch to zoom, two-finger drag to pan.
- Style each shape. Pick a stroke color from the 12-color palette (or enter any hex), choose stroke width (1–6px) and dash style (solid, dashed, dotted). Polygons additionally accept a fill opacity. Style choices apply to the next shape; select an existing shape to restyle it after the fact.
- Read the live measurements. Lines show real kilometres or miles next to the cursor as you draw. Polygons show real area (km² / mi² / acres / hectares) once they have at least three vertices. Arrows show distance between endpoints. All values are computed by inverting the projection and using d3.geoLength / d3.geoArea on a 6371 km Earth — the same math used in production GIS.
- Save, undo, or export. Every shape is saved to your browser automatically. Press Ctrl+Z / Ctrl+Y to step through 50 entries of undo / redo history. Use the layers panel to reorder, hide, rename, or delete individual shapes. Export the entire drawing as PNG or SVG (coming in next polish round) or copy a shareable URL.
Quick-start examples
Three preset drawings, each demonstrating a different combination of tools and basemap. Click any preset in the sidebar to load — your existing drawing is replaced and goes into the undo stack so nothing is lost.
A six-vertex line connecting Chicago → Denver → Salt Lake City → Reno → Sacramento → San Francisco on the United States basemap, with text labels at start, midpoint, and end. Total length renders as ~4,500 km / 2,800 mi. Edit the line by selecting and adjusting, or trace your own variant.
A single arrow from JFK to London Heathrow on the World basemap, with text labels at both endpoints. The great-circle distance reports as 5,571 km / 3,462 mi — the same answer airline route maps use.
Three colored arrows on the Europe basemap: Paris → Berlin (red), Rome → Brussels (blue), and Moscow → Berlin (purple, dashed). Demonstrates how multi-arrow flow diagrams compose from the same arrow primitive.
What people use Map Drawer for
Six recurring patterns we see in the analytics. Each one combines the five drawing tools in a different ratio.
Plan a road trip or hike route
Click the start, click each waypoint, double-click to finish — and you have a multi-segment line with the total distance in real miles or kilometres. Perfect for sketching a coast-to-coast US road trip, a long-distance bike route, an Appalachian Trail section, or a coastal sail. The Cross-country road trip preset (Chicago → SF via Denver, SLC, Reno, Sacramento) loads as a working example you can adapt to your own route.
Annotate flight paths and travel maps
Drop arrows from origin to destination — JFK → LHR, LAX → NRT, BOM → DXB — with the great-circle distance computed automatically. Use thicker arrows for hub-to-hub routes, dashed for connections. Add text labels for each airport. The Trans-Atlantic flight preset shows the convention. Pairs naturally with the Distance Between Two Places tool when you want a numeric answer without the visual.
Draw migration, trade, or supply-chain flows
Multiple arrows on one map turn into a flow diagram. Migration routes (Paris → Berlin, Rome → Brussels, Moscow → Berlin), historical trade routes (Silk Road, triangular trade), supply-chain origin-destination pairs, refugee movements, troop deployments. Different colors and dash styles separate flow types; the European migration preset is a starting template.
Outline a service area or sales region
Polygon mode lets you outline an arbitrary territory — a delivery zone, a sales region, a school catchment, a state or national park. The polygon shows real square miles, square kilometres, acres, or hectares, computed on a sphere — accurate even for very large regions where flat-earth math breaks down. Pairs naturally with our Map Area Calculator when you only need the area number.
Sketch hiking trails and outdoor routes
Freehand mode is built for organic shapes — drag your finger or mouse to sketch a hiking trail, a coastline detail, a cycling loop, a kayaking path. Freehand traces capture the actual curve of a trail rather than approximating it as straight lines. The total path length still renders in real km / mi, so a freehand sketch of the John Muir Trail will report the right ~340-km figure.
Create a battle / history / strategy map
Combine all five tools: polygons for territory, arrows for troop movements, lines for fortification walls or front lines, freehand for terrain features, and text for unit names and dates. The result is a publication-grade strategic map — the kind you see in textbooks, board-game manuals, or History Channel explainers. No vector-illustration software needed; everything stays geographically accurate.
Drawing tools — when to use which
Five primitives sounds like a lot, but each one has a clear best use. The table below maps each tool to the situation where it wins, with a typical example.
| Tool | When to use | Example |
|---|---|---|
| Line | You want a multi-segment path with vertex control — every click adds a point, double-click finishes. Length renders in real km / mi. | Road trip from Chicago to San Francisco via 5 waypoints. |
| Polygon | You want a closed region with area. Click vertices, finish to close. Area renders in km² / mi² / ha / acres. | Outline a delivery zone, a national park, or a sales territory. |
| Freehand | You want an organic curve that follows your finger or mouse exactly. Press and drag — release to finish. | Sketch a coastline, a hiking trail, or an irregular boundary. |
| Arrow | You want a directional vector from one point to another — origin and destination, before and after. | Flight path JFK → LHR, migration route, troop movement. |
| Text | You want to add a label anywhere on the map. Click, type, done. Sized to the current zoom. | Mark city names, label a region, annotate an elevation. |
A common pattern: start with a polygon for the region of interest, drop arrows for movement within or across it, drop circles (via repeated text or selectable shapes) for points of interest, and finish with text labels. The layers panel keeps everything organised; the undo stack means experimenting is cheap.
Real geographic measurements — the math
Most "draw on a map" tools either skip distance entirely (visual annotation only) or compute distance in screen pixels and label it "miles" — which is wrong by a factor of 2× to 50× depending on zoom and projection. Map Drawer does it the production-GIS way:
- Inverse projection. Every drawn point is in SVG coordinates of the basemap. We pass each point through the basemap projection\u2019s
invert()function to recover longitude / latitude. - Spherical computation. For lines, we feed the longitude / latitude sequence to
d3.geoLength, which sums great-circle distances between consecutive points and returns radians. For polygons,d3.geoAreareturns steradians. - Earth radius. We multiply length by R = 6371.0088 km (the IUGG mean radius) to convert radians → kilometres, and area by R² to convert steradians → km². Then unit conversions for miles, hectares, acres.
The result is geographically correct on a sphere — accurate within a fraction of a percent for any drawing on Earth, including continental-scale polygons where flat-Earth approximations break down. The reference implementation is in MapDrawerClient.tsx if you want to inspect it (the project is open-source).
Caveat: this is sphere math, not ellipsoid math. The actual Earth is a slightly flattened ellipsoid (WGS84), so for surveying or legal-boundary use cases requiring sub-metre accuracy you should run the same coordinates through a geodesic library like GeographicLib. For almost every other use case — road trips, sales territories, hiking routes, flight paths, migration flows — the 0.3% sphere-vs-ellipsoid discrepancy is invisible.
Tips for clean map drawings
Lock to a single base map per drawing
Switching basemaps mid-drawing resets your shapes — the coordinate system has changed, so old SVG points don\u2019t map to the same lat/lng. Pick the base map first, draw second. For multi-region maps where you want the same shapes in different views, save the drawing on each basemap separately or use multiple browser tabs.
Use stroke width and dash style as semantic channels
Three styles times five widths = 15 visual channels per color. Use them to encode meaning: thicker = primary route, dashed = secondary, dotted = proposed. A single color (e.g. dark blue for "transport") with multiple styles reads cleaner than five different colors.
Limit polygons to convex shapes when possible
Polygons can technically include any vertex sequence, but self-intersecting polygons (figure-8 shapes, bow-ties) cause area math to behave unexpectedly. If you need a complex region, break it into multiple convex polygons and stack them.
Freehand for organic, line for precise
Freehand looks natural but is hard to edit. Line is precise but looks geometric. For a coastline, freehand wins. For a flight path, line wins. For a hiking trail, freehand starts and you switch to line for the long straight sections.
Add text last
Text labels overlap with shapes if added first. Draw all your shapes, place the labels last, and use the layers panel to nudge text on top of any shape it overlaps with. Text size scales with zoom — pick a zoom that approximates your final export size before placing labels.
Map Drawer vs other map drawing tools
Honest comparison against the alternatives. Each tool wins different scenarios — the table is a feature checklist, not a value judgement.
| Feature | Map Drawer | Google My Maps | Mapbox Studio | Illustrator | Scribble Maps | QGIS |
|---|---|---|---|---|---|---|
| Free, no sign-up | ✓ | ✓ | Free tier limited | — (paid) | — (paid) | ✓ (open-source) |
| Real distance / area in km & mi | ✓ | — (visual only) | ✓ | ✓ | ✓ | ✓ |
| Five drawing primitives | ✓ | 4 (no freehand) | 3 | ✓ | ✓ | ✓ |
| Mobile / touch-first | ✓ | Partial | ✗ | ✗ | ✗ | ✗ |
| Pinch zoom + two-finger pan | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
| Undo / redo (50 steps) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Public-domain basemaps included | ✓ | Google basemap | Mapbox basemap | — (BYO) | Mapbox | — (BYO) |
| Geographic accuracy (sphere math) | ✓ | ✓ | ✓ | ✗ | ✓ | ✓ |
| No watermark on export | ✓ | ✓ | Watermark on free | ✓ | ✓ | ✓ |
| No learning curve | ✓ | ✓ | Medium | Steep | Steep | Very steep |
Google My Maps is the closest sibling — drop pins, draw lines, share the result — but the basemap is locked to Google Maps styling, the drawing primitives are limited, and the result looks like a Google Map (good for sharing, not for publishing). Mapbox Studio gives the widest stylistic range but requires a paid account and an API key for non-trivial use. Illustrator is the publication-grade tool but you bring your own basemap and there is no geographic measurement. Scribble Maps is a direct competitor with similar primitives but free-tier limits, watermarks, and a less mobile-friendly UI. QGIS is the open-source professional tier — capable of anything Map Drawer does plus raster layers, database joins, and complex spatial analysis — but with a learning curve measured in weeks.
Available base maps
Eight base maps cover global, country, and continent scales. All boundaries come from public-domain Natural Earth (1:50m scale) and US Census Bureau TIGER/Line files. Switch freely from the toolbar; switching resets your drawing because the coordinate system changes.
195 countries · Equal Earth projection · Antarctica filtered
50 states + DC · Albers USA projection (Alaska, Hawaii inset)
51 countries · Mercator centered on Germany
53 countries · Mercator
57 countries + territories · Mercator
38 countries · Albers
14 countries · Mercator
26 countries · Pacific-centred Mercator
Related tools and resources
For a single-purpose annotator with markers and an auto-generating legend (instead of free drawing), use Map with Legend Maker. For coloring countries or US states by group, use Color a Map. For a polygon-only area calculator with cleaner UI, use Map Area Calculator. For a geodesic-circle drawing tool (radius from any point), use Map Radius Tool. For a two-point distance with bearing and direction, use Distance Between Two Places. For printable blank state and country outlines (PNG / SVG / PDF), browse our 110 free printable blank maps.
Frequently asked questions
Country boundaries: Natural Earth Cultural Vectors at 1:50,000,000 scale (CC0). 195 sovereign countries plus dependencies and disputed territories. US state boundaries: US Census Bureau TIGER/Line via us-atlas states-10m TopoJSON (public domain). Continent classification: 241 Natural Earth countries hand-mapped to seven continents. Distance: d3-geoLength on inverse-projected longitude / latitude sequences, multiplied by R = 6371.0088 km (IUGG mean Earth radius). Area: d3-geoArea on inverse-projected polygon rings, multiplied by R². Mile / acre / hectare conversions use NIST factors (1 mi = 1.609344 km, 1 acre = 0.40469 ha, 1 mi² = 2.58999 km²). All computation happens in your browser; no data leaves your device.
More SimpleMapLab tools
Drop markers, fill regions, get an auto-generating custom legend. Single-image cartographic deliverable.
Click any country, US state, or region to fill it with a color group. Categorical mapping.
Draw a polygon on the map and measure its area in square miles, square km, acres, or hectares.
Draw geodesic circles on an interactive map. Set radius from 1 to 3,000 miles.