Map tiles are fetched directly from tile.openstreetmap.org— no proxy, no backend.
Powered by
gpxsnap
A dependency-free GPX route-preview renderer — no sharp, no libvips, no native bindings anywhere in the chain. The same library behind the demo above runs in Bun, Node (≥22.18), and Deno too.

Install
bun add gpxsnapimport { renderRoute } from "gpxsnap";
const png = await renderRoute({
coordinates: [[2.3522, 48.8566], [2.295, 48.8738], [2.2986, 48.8867]],
width: 1200,
height: 600,
});