// the find
maplibre/maputnik
An open source visual editor for the 'MapLibre Style Specification'
Maputnik is a visual editor for MapLibre GL style JSON — the spec that controls how vector tile maps look. It's a GUI for what would otherwise be hand-editing a deeply nested JSON blob, with a live map preview. Aimed at developers and designers who work with MapLibre or self-hosted tile infrastructure.
Live preview with MapLibre GL JS means you see exactly what the output renders, not an approximation. Cypress E2E suite is genuinely thorough — layer editor, filter editor, history, accessibility, i18n all covered. Docker image makes it trivial to run locally without touching Node. The desktop Go binary adds file-watching and local style serving, which is genuinely useful for offline or CI workflows.
All state lives in localStorage by default — there's no backend, no save-to-file from the web UI without manual export, so it's easy to lose work in a browser session. The filter editor UI lags behind the MapLibre expression spec; newer expression syntax requires dropping into the raw JSON code editor. No multi-file or project concept: one style at a time, no way to extract shared components or manage a family of styles. The wiki is the primary documentation and it's sparse for anything beyond basic usage.