# RunMap > A route planner for running, cycling and hiking. It routes on the real path > network — OpenStreetMap ways through a self-hosted GraphHopper — rather than > drawing straight lines, so a planned distance is a distance you can actually > run, ride or walk. RunMap generates loops of a distance you ask for, builds out-and-backs, and snaps freehand drawing to the network. Every route comes with an elevation profile from terrain data, a breakdown of what it is made of (asphalt, path, track, gravel), split times, and the drinking water, toilets and shops along it. Seven activity profiles pick different ways: Road Running, Trail Running, Road Bike, Trail Bike, Bike Commuting, Hike, and Manual, which does no routing at all. Drawing, routing, distance and elevation work without an account. Saving a route, the heatmap of where people run and GPX export need one. The planner itself is a map you draw on, so it needs JavaScript. The routes people have published do not: each one is a plain HTML page. ## Pages - [Home](https://pacemap.ro/): what RunMap is and what the planner does. - [Public routes](https://pacemap.ro/routes): index of the 1 route their planners chose to share. - [Sitemap](https://pacemap.ro/sitemap.xml): every readable URL, one per published route. ## Notes - Route pages carry the numbers as text and as JSON-LD: distance, climb, descent, activity, estimated time, and where the route starts. - `/api/*` is the app's own JSON API. It is disallowed in robots.txt: it is not documented, not stable, and the map tiles behind it are expensive to serve. - Map data © OpenStreetMap contributors. Terrain from Mapterhorn.