Introduction
maproll is a small HTTP service that turns geographic data into static map images. You give it a scope (which geography), values keyed by ISO codes, and styling — and you get an SVG or PNG back. The result is cached behind Cloudflare and embeds anywhere an <img> tag works: a README, a Notion doc, a Slack message, a static dashboard, a marketing page.
It is intentionally small:
- Two endpoints.
GET /map.{svg,png}for embedding via URL,POST /render/mapfor richer payloads. - Server-side only. No client-side JavaScript, no browser canvas, no headless Chrome. Renders are deterministic strings.
- Cache-first. Every render returns
Cache-Control: public, max-age=31536000, immutableand anETag. Browsers, CDNs, and Cloudflare cache aggressively.
What it's not
- Not an interactive / slippy / tile map.
- Not a GIS platform or map editor.
- Not a Mapbox or Google Maps replacement.
- Not a BI dashboard.
If you need pan/zoom, vector tiles, or a designer-grade studio, use Mapbox or D3 directly. maproll is for the case where you want a clean map image and you want it now.
What it ships with
- Six themes (3 light, 3 dark) tuned for choropleth contrast.
- Five projections including Natural Earth, Albers USA, conformal conic, Mercator, equal Earth.
- Three color scales (sequential, diverging, categorical) with four classification strategies.
- Cartographic primitives: markers (30-icon library), great-circle routes, region labels, north arrow, scale bar, graticule, legends.
- Pattern fills, per-region color overrides, proportional symbols, annotations (hover tooltips).
What's next
- Quick start — first map in 60 seconds.
- GET /map.{svg,png} — full URL parameter reference.
- POST /render/map — JSON and CSV body formats.