This application requires JavaScript.
maps for leaflet

Leaflet maps, the boring infra part sorted.

Already running Leaflet? maps.guru serves raster/static fallbacks via the public Tiles API. Paste the URL pattern into L.tileLayer and you are done. For vector, switch to MapLibre for the same auth.

install
pnpm add leaflet @types/leaflet
ts
import L from 'leaflet';
import 'leaflet/dist/leaflet.css';

// Raster fallback (works with plain tiles already in your Leaflet app).
// For vector tiles + WMS sprites/glyphs, switch to MapLibre (see /maps-for/maplibre).
const TILE_URL =
  'https://tiles.maps.guru/v1/planet-vector/{z}/{x}/{y}.png?key=YOUR_API_KEY';

const map = L.map('map-canvas').setView([28.6139, 77.209], 11);

L.tileLayer(TILE_URL, {
  maxZoom: 19,
  attribution: '© maps.guru · OpenStreetMap contributors',
}).addTo(map);

L.marker([28.6139, 77.209]).addTo(map).bindPopup('New Delhi');
live · Leaflet preview

Why Leaflet teams ship on maps.guru

Free-tier generous enough for real production traffic. 50,000 tile requests/month , no credit card.

  • Zero migration. Keep your existing Leaflet code and swap the tile URL.
  • Auth via ?key= query on the tile template.
  • Want vector tiles + WebGL rendering later? Move to MapLibre with the same auth.

Frequently asked

Ready to build with
beautiful basemaps?

Join developers worldwide who trust maps.guru for their mapping needs. Start free, no credit card required.

Contact us
Free forever plan
5-minute setup
No credit card