✦ Leaf through your geodata

GeoLeaf
Your territories, mapped.

A production-grade mapping framework (v3), built on MapLibre GL JS 5: render and style your geographic data (POI, routes, polygons, GeoJSON) directly in the browser, driven by plain JSON files.

  • 100% frontend
  • Open source (MIT)
  • Hardened security (strict CSP)
  • 10 plugins
  • Mobile & tablet

What you can do with GeoLeaf

Visualize, explore and share your business geographic data — with no heavy development, no backend dependency, configurable through simple JSON files.

Visualize your geographic data

Without a single line of code

Display thousands of POI, zones and routes on a WebGL GPU-accelerated map. Automatic clustering, heatmaps, rich popups — all driven by your JSON profiles.

  • Colors, icons, zoom thresholds and custom styles in JSON — no code changes required
  • Automatic marker clustering, heatmaps and category-based groupings
  • Rich POI popups and detail panels: images, links, data tables, action buttons
  • Smooth 60 FPS rendering with 10,000+ simultaneous entities via WebGL

Explore, filter & analyze

Everything is profile-configurable

Offer your users a rich navigation experience — search, combined filters, detailed side panel and table view — with no custom development.

  • Instant text search + filters by category, value or geographic distance
  • Combinable URL-persistent filters — share a filtered view as a single link
  • Multi-column sortable table view with CSV export from any profile
  • 100% configurable side panel — sections, fields and layout defined in JSON

Integrate anywhere, no backend needed

Zero proprietary server

GeoLeaf is 100% frontend — an npm import or a CDN tag, a JSON profiles folder and you're ready to go. No backend dependency, no cloud subscription.

  • Compatible with Odoo, WordPress, ERP, REST API, static files or CDN
  • Installable iOS/Android PWA — offline mode with smart cache (Storage Plugin)
  • One profile = one versioned, deployable, hot-swappable JSON folder
  • Full branding configurable: logo, colors, themes, language — no recompilation
  • Hardened security for your environments: strict CSP, XSS/CSRF protection, built-in sanitization

A cross-industry solution

GeoLeaf adapts to any business context — a single JSON profile is enough to switch from one sector to another.

Tourism & territories

  • Themed circuits and routes
  • Cultural, natural and heritage POI
  • Accommodation, dining and activities
  • Tourist offices, travel agencies

Local government & public services

  • Public facilities and recycling centers
  • Stops, regulated and restricted zones
  • Citizen portal or internal tool
  • Municipalities, intermunicipal bodies

Utilities & energy

  • Street lighting, water, gas, fiber optic
  • Fault and incident localization
  • Real-time equipment status
  • Planned maintenance on map

Mobility & transport

  • Bus lines and service zones
  • Parking and bike-sharing stations
  • Real-time fleet tracking
  • Realtime plugin: WebSocket, SSE, GTFS-RT

CMMS & asset management

  • Geolocated equipment and sensors
  • Street furniture with status and history
  • Filters by status, date or technician
  • Field tracking and maintenance

Environment & agriculture

  • Agricultural parcels and protected areas
  • Climate measurements and rainfall data
  • IoT sensors on map
  • Time filters and historical data

Logistics & supply chain

  • Delivery and collection rounds
  • Warehouses and service zones
  • Multi-criteria search and filters
  • CSV export of field data

Healthcare & proximity services

  • Healthcare facilities and pharmacies
  • Social and medico-social services
  • Filters by specialty and accessibility
  • Geographic coverage zones

Real estate & urban planning

  • Lots, parcels and zoning areas
  • New developments and listings
  • Developers, agencies and territory clusters
  • Interactive map embedded as iframe or SDK

A complete mapping foundation

GeoLeaf Core is an open-source (MIT), modular, 100 % frontend mapping framework designed to display, structure and explore business geographic data.

Interface & themes

Light / Dark theme with automatic or forced selection. Customizable color palettes, basemap selector (Street, Topo, Satellite…), legend, data table and on-demand filters.

Business profiles & taxonomy

Multi-profile architecture: one profile = one self-contained, versioned folder. Categories, subcategories and SVG icon sets per domain, configurable in JSON without touching the GeoLeaf core.

Layers & geodata

Native support for points, polylines and polygons, vector tiles (MVT/PMTiles), OGC API Features, raster images, hillshade, WMTS/WMS. Supported formats: business JSON, GeoJSON, WKT. Native MapLibre GL JS high-performance clustering and icon or vector rendering. GPX, KML/KMZ, CSV, TopoJSON, FlatGeobuf, COG via import plugins — real-time feeds (WebSocket, SSE, GTFS-RT).

Popups & side panel

Configurable tooltips, rich popups (text, images, tags, links), section-structured side panel, data table with sorting, search and CSV export.

Filters & search

Side filter panel, per-layer and per-field indexing. Simple or combined text search, tag and category filters, geographic proximity search.

Mobile & performance

100 % responsive interface, designed for field use on smartphones and tablets. WebGL GPU-accelerated rendering, 10 000+ markers at 60 FPS. Bundle ~70 KB gzip at load, lazy chunks on demand.

Security & robustness

Strict Content Security Policy (style-src without unsafe-inline), XSS protection and URL validation at render time, CSRF tokens, prototype-pollution guard. Excel export rewritten without any third-party dependency — two CVEs eliminated.

Multi-instance & lifecycle

Several independent maps on a single page (one mapId per map). Clean create → destroy → recreate lifecycle (React, SPA), with no leaked layers or markers. Extensible Plugin Contract v1 architecture.

Maturity & quality

Production v3, strict TypeScript, ~82.5 % test coverage (Vitest + Playwright E2E). Native internationalization in 6 languages. WCAG 2.1 AA compliant.

Driven by JSON files

GeoLeaf is built on a modular architecture cleanly separating the mapping engine, data and business rules — independently versionable and deployable.

Business profiles (profiles/<profile_id>)

Each profile is a folder of self-contained JSON files, independently versionable and deployable from the GeoLeaf core. Activate a profile via the global config to instantly switch from one business domain to another.

  • profile.json — Identity (id, label, version), the map section (bounds, zoom, center) and the Files manifest.
  • config/core/taxonomy.json, themes.json, layers.json, basemaps.json, ui.json and features.json (clustering, geocoding, performance, POI).
  • config/plugins/<id>.json — One configuration file per plugin (Plugin Contract v1, modules.<id> block).
  • layers/<id>/ — GeoJSON and MapLibre styles, one folder per layer.
  • icons/ + data/ — Profile-specific SVG icons and datasets.
  • mapping.json (optional) — Normalizes heterogeneous sources to GeoLeaf's internal model.
GeoLeaf profile tree (layout v2): profile.json, config/core, config/plugins, layers, icons, data

Ready to integrate in 5 minutes

Install via npm or a single CDN tag, initialize the map in a few lines, then drive the display from your JSON profiles. Works with any stack (Odoo, WordPress, ERP, API…) — no build step required.

GeoLeaf initialization
import { Core, POI } from '@geoleaf/core';
import '@geoleaf/core/style.css';

// One map per mapId (multi-instance)
const map = Core.init({
  mapId: 'map',
  center: [46.5, 2.5],
  zoom: 6,
  theme: 'light',
});

POI.add({ id: 'poi-1', latlng: [48.8566, 2.3522], title: 'Paris', category: 'city' });

// GeoLeaf events are dispatched on `document`
document.addEventListener('poi:click', (e) => {
  console.log(e.detail);
});

document.addEventListener('geoleaf:filters:applied', (e) => {
  console.log(e.detail);
});
TypeScript strict ESM-only ~70 KB gzip at load MIT MapLibre GL JS 5 ~82.5 % coverage Node ≥18
  • Full type definitions included (index.d.ts) — complete IntelliSense in VS Code and all LSP IDEs.
  • Typed events dispatched on document: poi:click, geoleaf:filters:applied, geoleaf:geojson:visibility-changed and more — fully documented event API.
  • Modular architecture with 11 lazy-loaded chunks — load only what you need.
  • Installable iOS/Android PWA, WCAG 2.1 AA compliant — focus trap, aria-modal, i18n ×6 languages.

Extend GeoLeaf to fit your needs

GeoLeaf Core covers the essentials. Plugins — MIT (open source) or commercial — unlock advanced use cases: each is self-contained, activated by a single line of JSON configuration.

Available MIT

Connector Plugin

Universal fetch interceptor for authenticated sources (GeoJSON, FlatGeobuf, KML, CSV, OGC API). Static, JWT or async tokens (OAuth, Keycloak, Auth0), login modal and auto refresh.

npm install
Available MIT

Print Plugin

PDF / JPG export at 300 DPI: scale × paper-format flow (A4/A3), off-screen re-render, inline legend and north arrow. Annotations composed when the Measure plugin is loaded.

npm install
Available MIT

Measure Plugin

Distance and area measurement, circle, GPS tracking and georeferenced tooltip annotations. GeoJSON export. API GeoLeaf.Measure.activate().

npm install
Available MIT

File Import Plugin

Import GPX, KML/KMZ, CSV, TopoJSON → GeoJSON, 100% in-browser. API GeoLeaf.FileImport.convert(), importAsLayer().

npm install
Available MIT

FlatGeobuf Plugin

FlatGeobuf streaming, spatial bbox filtering via R-tree and HTTP Range. API GeoLeaf.FlatGeobuf.load(), loadBbox().

npm install
Available MIT

Realtime Layer Plugin

Real-time layer updates: polling, WebSocket, SSE and GTFS-RT decoding (transit, IoT, geographic alerts).

npm install
Available Commercial

Storage Plugin

Full offline cache with IndexedDB and Service Worker. Sync, volume management, quota alerts and transparent offline mode.

Request a quote
Available Commercial

AddPOI Plugin

Full CRUD form to create, edit and delete POI on the map. Touch placement, real-time validation, photo upload, offline sync.

Request a quote
Available Commercial

Editor Plugin

Create and edit geometries (point, line, polyline, polygon) via Terra Draw, responsive attribute forms, undo/redo and online / offline persistence.

Request a quote
Available Commercial

COG Plugin

Cloud Optimized GeoTIFF, multi-band, colorMap LUT, MapLibre source injection via HTTP Range. API GeoLeaf.COG.addLayer().

Request a quote
Roadmap 2026 MIT + Commercial

Studio Plugin

No-code profile configurator. Interface personalization (themes, colors, branding) is MIT; full configuration and profile creation are part of the commercial edition.

Coming soon
Roadmap 2026 Commercial

Charts Plugin

Charts embedded in popups and side panels. Histograms, time series and pie charts driven by business attributes.

Coming soon
Roadmap 2026 Commercial

QGIS 4 Plugin

Direct export from QGIS 4 to GeoLeaf format. Styles, layers and data converted automatically — zero manual re-entry.

Coming soon

What's coming to GeoLeaf

Features already shipped are in the Plugins section and the changelog. Below is what's coming next — prioritized based on user feedback. Core items (MIT) and commercial plugins are listed separately.

Coming soon

01 — No-code profile configurator

No-code editing from the app. Interface personalization (themes, colors, branding) is open source (MIT); full profile configuration (taxonomy, layers, basemaps) and creating new profiles are part of the commercial edition.

UI & themes — MIT Profiles — Commercial

Coming soon

02 — FormBuilder — visual form builder

Visual editor that adds the authoring side to the existing form-renderer plugin: compose field schemas (POI, editing) without writing code. Spec in progress.

Commercial Plugin

Coming soon

03 — Roles & per-layer permissions

Extended auth layer: sessions, roles and per-layer permissions, on top of the Connector plugin's fetch interceptor.

Plugin Connector

Coming soon

04 — Performance dashboard

Built-in render metrics — render time, memory usage, number of displayed entities — to profile a map in production.

Core

Coming soon

05 — First-connection onboarding

Interactive onboarding flow for new users — guided steps with contextual tooltips.

Core

Coming soon

06 — Pre-configured basemaps

Ready-to-use providers (IGN, CartoDB, ESRI, Stamen) selectable by configuration.

Core

2026+

07 — GPS module & route tracking

Real-time GPS tracking with route recording, GPX trace and automatic server sync.

Commercial Plugin

2026+

08 — Route calculation (routing)

Optimized route calculation with configurable providers (OSRM, Valhalla, ORS). Walking, cycling, driving modes.

Commercial Plugin

2026+

09 — Legend-only print

Export and print the map legend independently from the map — for field sheets and reports.

Core

2026+

10 — Charts Plugin

Charts embedded in popups and side panels — histograms, time series, pie charts.

Commercial Plugin

2026+

11 — QGIS 4 Plugin

Direct export from QGIS 4 to GeoLeaf format — styles, layers and data converted automatically.

Commercial Plugin
Core (MIT) MIT Plugin Commercial Plugin

Latest updates

GeoLeaf release notes. Full history in the changelog.

GeoLeaf Core — Free Forever (MIT)

Free for any use, including commercial, with no subscription or usage restrictions.

Plugins & extensions

Connector, Print, Measure, File Import, FlatGeobuf, Realtime (MIT) · Storage, AddPOI, Editor, COG (commercial)
Discover all available plugins and their license.

View plugins →

Everything you need to know about GeoLeaf

Yes. GeoLeaf Core is released under the MIT license. It can be freely used, including in professional or commercial projects, as long as the copyright notice and license text are retained upon redistribution.
No. GeoLeaf is a 100 % frontend library, built on MapLibre GL JS, that consumes JSON data. It can be used with Odoo, another ERP, a CMS, a custom API or static files, with no imposed server dependency.
The basemap selector controls only the background map (tiles). Business layers (POI, GeoJSON, routes, overlays) are managed separately via the legend and layer manager, to allow precise control over displayed data.
Yes. GeoLeaf Core includes an offline mode via its Service Worker, enabling reuse of already-loaded resources (assets and profile resources). For full offline support — caching tiles and data plus synchronization via IndexedDB — the commercial Storage plugin extends this foundation.
Yes. GeoLeaf enforces a strict Content Security Policy (style-src without 'unsafe-inline'), escapes HTML and validates URLs at render time (XSS protection), manages CSRF tokens and blocks prototype pollution. The Excel export was rewritten without any third-party dependency, eliminating two known CVEs.
Yes. GeoLeaf Core lets you start with a simple setup (frontend scripts and static data), then progressively evolve towards more advanced use cases: backend integration, complex business profiles, field features or optional modules as needed.

Need help with GeoLeaf ?

GeoLeaf is an open source framework. If you need assistance with integration, designing a business profile, adapting it to your architecture (ERP, API, CMS) or developing specific features, describe your context. We respond within 48h.

Website

www.mp-i.pro

LinkedIn

Mattieu Pottier

Availability

Mon – Fri, 9am – 6pm CET