2000 mi
Project:Not saved
Name:—
Locations:0
Lat:—
Lng:—

Settings

Add Location

Project Settings

Find & Replace

User Guide

Getting Started
📍
Adding LocationsClick +, press Ctrl+N, or right-click the map. Use the address/postcode field to geocode any address, UK postcode, or place name automatically. Right-clicking the map pre-fills the nearest known city.
🏠
Home & ProjectFile → New creates a blank project and opens Project Settings. Click 📍 Use my location to set home to your GPS position, or enter coordinates manually. Click the project title (top-left) to reopen settings at any time.
✏️
EditingDouble-click or right-click any row or map marker. Each location supports name, city, operator, group tag with colour, status, start/end dates, notes, photos, and custom fields. The Group/Tag field suggests existing tags from your project as you type.
🔀
Drag to RepositionDrag any marker on the map to update its coordinates. Coordinates and distance recalculate automatically. Fully undoable with Ctrl+Z.
📦
Sample DataFile → Load Sample Data. 10 datasets with 420+ locations: UK Rail (50), European Capitals (45), World Capitals (60), Landmarks (40), Premier League (20), Airports (50), UK Construction (40), Seaports (40), Universities (40), Stadiums (40).
💾
Saving & AutosaveFile → Save always downloads a new .m2map file (browsers cannot overwrite existing files). Rename or replace the old file manually. Autosave to browser storage runs every 30 seconds with recovery on next load.
◀️
Collapsible SidebarClick the chevron button at the right of the sidebar header to collapse the left panel and maximise the map. A small tab appears at the left edge to reopen it. State persists across sessions.
📚
LibraryThe Library tab has 6 categories — Cities, Landmarks, Airports, Ports, Stadiums, Universities — with 240+ locations worldwide. Click any to add instantly.
Map & Visualisation
🗺️
Map Tiles6 CARTO styles in Settings (dark, light, voyager — each with a no-labels variant). Auto-switches when you toggle dark/light mode.
🎨
Themes & AccentsDark/light mode via T. Six accent colours: Ocean, Forest, Violet, Ember, Rose, Slate.
⭕
Radius CirclesPress R — configurable catchment circles (5–500 miles) around each pin, colour-matched to tags.
🔥
HeatmapPress H — density visualisation showing clustering. Great with large datasets.
🔗
Marker ClusteringToggle in Settings. Nearby pins group into numbered circles at low zoom, expanding on click. Uses the accent colour.
📍
My LocationPress G — browser geolocation with a pulsing blue marker and coordinate popup.
Status, Tags & Custom Fields
🏷️
Groups & TagsAssign a group name and colour to each location. Colour-coded dots in the grid, markers, and lines on the map.
📋
Status WorkflowTendered → Won → In Progress → Complete / On Hold. Colour-coded badges in the grid. Grid rows show a left-edge colour bar per status. Right-click any location (map or grid) to set the status instantly without opening the full edit form.
📅
Timeline FilteringAdd start/end dates to locations. Toggle the timeline bar on the map to filter by date range and see which sites were active when.
⚙️
Custom FieldsDefine your own columns in Project Settings (e.g. Client, Value, Phase). Appear in the Add/Edit form. Saved per project.
📝
Notes & PhotosFreeform notes and photo attachments per location. Click thumbnails for a full-screen lightbox. Hover any grid row with notes to peek at the note text as a tooltip.
Bulk Editing & Selection
☑️
Multi-SelectShift+click for range selection, Ctrl/Cmd+click to toggle individual rows. A bulk edit bar appears above the grid. Use ↑/↓ arrow keys to move selection one row at a time.
✨
Bulk Update & DeleteSet status or tag for all selected, delete them all, or Geocode City to re-geocode selected locations from their City field. The bulk bar shows Apply, Delete, Geocode City, and Clear.
↩️
Undo / RedoCtrl+Z to undo, Ctrl+Y to redo. Stores up to 50 state snapshots. Covers every add, edit, delete, drag, and bulk operation.
🔎
Filter & SearchThe search box filters across name, city, operator, tag, status, notes, and all custom fields — grid and map update instantly. The Status filter bar below the toolbar lets you click-filter by status. Click a status badge in the grid to filter instantly. A × button clears the text search. Status bar shows matched / total when active.
🔄
Find & ReplaceCtrl+H or File → Find & Replace to bulk-replace text in any field across all locations. Choose the field, enter find and replace text, optionally enable case-sensitive matching. Shows live match count before replacing.
👁️
Column Visibility & SortingClick the grid icon to show/hide columns. Click column headers to sort: first click ascending, second descending, third click clears the sort.
🙈
Hide from MapHover any row to reveal the eye icon in the first column. Click it to hide that location from the map (marker, line, radius circle, and heatmap contribution) without deleting it. The row dims to signal it is suppressed. Click again to restore. Saved with the project.
🔎
Zoom to all (F)Fits the map to all locations. When any filter is active the zoom is restricted to the filtered subset, keeping the view focused on what you can see in the grid.
⚠️
Duplicate DetectionWhen saving a location or completing an Excel import, a warning appears if another pin already exists within ~100m of the same coordinates. Import reports the count in the completion toast.
Analysis, Drawing & Routing
📊
StatisticsFile → Statistics. Headline cards (total, avg distance, nearest, furthest) plus breakdowns by status, tag, city, and photo counts.
📐
Measurement ToolPress M or use the map toolbar. Click points to measure distances with a running total. Clear or Done when finished.
🔷
Polygon DrawingClick the pentagon icon, then click points on the map. Double-click to close the polygon. Right-click any existing polygon to delete it. Polygons are saved in the project file.
🧭
Route OptimisationFile → Optimise Route. Nearest-neighbour algorithm from home. Numbered stops on the map with total distance.
📏
Distance MatrixFile → Distance Matrix. Full pairwise table, colour-coded (green <50mi, red >500mi). Export as CSV.
Import & Export
📥
CSV ImportImport → Import CSV. Needs lat/lng columns at minimum.
📊
Excel ImportImport → Import Excel. Drag-drop an .xlsx, .xls, or .csv file. Preview the data, then map spreadsheet columns to location fields (name, lat, lng, city, status, tag, dates, notes). Auto-detects common header names. If you have a Postcode column but no lat/lng, M2Map geocodes all rows automatically via Nominatim — a progress bar shows ETA and lets you cancel mid-import.
🌐
GeoJSON ImportImport → Import GeoJSON. Loads all Point features from a .geojson or .json file. Maps common properties (name, city, notes, description) automatically. Home markers and lines are skipped.
📌
KML ImportImport → Import KML. Loads Placemarks with Point geometry from .kml files (Google Earth, QGIS, ArcGIS exports). The description field maps to notes. Skips the Home marker.
🌍
GeoJSON / KML ExportExport for QGIS, Mapbox, or Google Earth with all properties and lines.
�
CSV ExportExport → Export CSV downloads all location data as a spreadsheet-ready file including all custom fields, status, tags, dates, and coordinates.
🗺️
GPX ExportExport → Export GPX generates a standard GPX 1.1 waypoint file compatible with Garmin, OsmAnd, Google Earth, and any GIS tool.
📸
ScreenshotExport → Screenshot PNG opens a resolution picker (1×, 2×, 3×) showing actual pixel dimensions. Captures the map including markers, lines, and overlays. Hidden locations are excluded. For best results when running from a web server; some tile layers may not render from file:// due to browser security.
🖨️
Print / PDFExport → Print. Map and table side by side with project header.
📂
Multi-ProjectLoad multiple .m2map files on one map with distinct colours per project.
🔄
File ManagementFile → New, Open, Save, Close. All with confirmation dialogs. Open supports .m2map and .json files.
Help & Command Palette
🔎
Command PalettePress Ctrl+Shift+P or click the search icon in the topbar (left of the theme toggle) to open a searchable list of every action. Type to filter, ↑↓ to navigate, Enter to execute, Esc to close.
📖
Help MenuThe Help menu gives quick access to this User Guide and What's New. Settings is also accessible from the topbar gear icon.
Keyboard Shortcuts
Ctrl+Shift+P Command Palette Ctrl+N New location E Edit selected Del Delete F Zoom to all L Lines R Radius H Heatmap M Measure G My location T Theme Ctrl+Z Undo Ctrl+Y Redo Ctrl+O Open Ctrl+S Save Ctrl+, Settings ? Guide Esc Close

Distance Matrix

Optimised Route

Statistics

Measuring: 0 mi

Import from Excel

Step 1 — Select File

Click to browse or drag & drop an Excel file

.xlsx, .xls, .csv supported
Geocoding Locations…
UK postcodes in batches of 100 · other addresses one a second (OpenStreetMap)
Preparing…
✓ 0 geocoded ✗ 0 failed
📸
Screenshot Resolution
Choose output quality. Higher resolution = larger file size.

Load Sample Data

Multi-Project View

Load multiple .m2map files to view all projects on one map. Each project gets a unique colour.

What's New

Esc