Dynamic SVG icons for MapLibre GL. No build step. No PNG files.
Just beautiful, scalable markers on your maps.
registerSpriteFromIcons() in 3 linessprite:// with OSM tilesregisterMapLibreProtocol()MaplibreSvgSprite without modulesimport { registerSpriteFromIcons } from 'maplibre-gl-svg-sprite';
// Your SVG icons
const icons = [
{ id: 'marker', svg: markerSvg },
{ id: 'star', svg: starSvg }
];
// Register sprite protocol
await registerSpriteFromIcons(maplibregl, 'sprite', 'my-icons', icons);
// Use in your style
const map = new maplibregl.Map({
style: {
version: 8,
sprite: 'sprite://my-icons',
// ...
}
});
Tip: For a quick sprite preview without SpriteBuilder, see
buildSprite in the Quickstart page.