OpenBoulderMap Wiki
A worldwide bouldering map built entirely on OpenStreetMap data. OSM is the source of truth; this site only renders a derived, regenerable snapshot of it.
Data model
Bouldering uses the same climbing=* vocabulary as roped climbing. There is
no separate “boulder level”: a single boulder is a
climbing=crag relation. Every link in the chain is optional.
problem node climbing=route_bottom + climbing:boulder=yes │ member of (optional) crag relation type=site + climbing=crag + climbing:boulder=yes ← one boulder │ member of (optional) area relation type=site + climbing=area + climbing:boulder=yes │ member of (optional, recursive — areas nest) (nested area) # the physical rock is a separate object, not part of the containment chain physical rock node / way / multipolygon climbing=boulder + natural=bare_rock|stone + sport=climbing
| Object | Required OSM tags | Notes |
|---|---|---|
| Problem node |
climbing=route_bottom climbing:boulder=yes sport=climbing |
A point at the problem's start. Optional name, grades, photo. |
| Crag / boulder relation |
type=site climbing=crag climbing:boulder=yes sport=climbing site=climbing |
One boulder. Members: its problem nodes + the physical rock. |
| Area relation |
type=site climbing=area climbing:boulder=yes sport=climbing |
Groups crags and/or other areas. Usually named. Recursive. |
| Physical rock node / way / multipolygon |
climbing=boulder natural=bare_rock|stone sport=climbing |
Drawn shape, listed as a member of its crag. |
- At most one parent per kind — a problem belongs to ≤1 crag, a crag to ≤1 area.
- Membership, not geometry — “in” a crag/area means being a relation member. Spatial position is only a discovery aid.
- Empty member roles.
climbing:boulder=yesis what distinguishes bouldering crags/areas from roped ones.
climbing.pmtiles + a static index) and never calls the live OSM API.
Grades
Two scales are rendered, each with its own colour ramp.
Grades are never converted between scales — a 7A+ is never
turned into a V7. Grades are tagged on the problem node.
| Scale | OSM tag | Example |
|---|---|---|
| Fontainebleau (Font) | climbing:grade:font | 7A+ |
| Hueco / V | climbing:grade:hueco | V6 |
The route dot takes the Hueco value first, then Font. Both share a green→red ramp, but the columns below are independent — not a conversion table.
| Colour | Font | Hueco / V |
|---|---|---|
| easy | 1–3+ | VB, V0- |
| easy | 4–4+ | V0–V0+ |
| easy | 5–5B+ | V1–V2+ |
| mid | 5C–6A | V3–V3+ |
| mid | 6A+–6B | V4–V4+ |
| mid | 6B+–6C | V5–V5+ |
| hard | 6C+–7A | V6–V6+ |
| hard | 7A+–7B | V7–V7+ |
| hard | 7B+–7C | V8–V8+ |
| elite | 7C+–9A | V9–V17 |
Any other climbing:grade:* scale (UIAA, French, YDS, …) is shown in neutral
gray, with its label — visible without pretending the app understands it. Ungraded problems
are also gray.
Contributing
Add features in OSM and they appear here after the next daily tile refresh. Nothing is ever written to OSM automatically.
-
OpenBoulderMap editor — desktop-first and
boulder-specific. It previews locally, then exports an
.oscchangefile you upload through JOSM. - iD — the default browser editor, fine for small tag edits.
- OpenClimbing — another editor over the same data, strong for drawing routes on photos.
To map a boulder: (1) trace the rock and tag it
climbing=boulder + natural=bare_rock|stone +
sport=climbing; (2) create the climbing=crag +
climbing:boulder=yes relation; (3) add the rock and each problem as members.
Problems are nodes tagged climbing=route_bottom +
climbing:boulder=yes, optionally with a name and grade.
Photos live on Wikimedia Commons: attach one with wikimedia_commons=File:… and
draw the line on it with
wikimedia_commons:path.
Links
- OSM wiki — Climbing: the canonical tag documentation.
- OSM wiki — Key:climbing: index of all climbing keys.
- OSM wiki — Climbing/Grading: approximate cross-scale tables.
- OpenClimbing.org: free climbing guide on the same OSM data.
- OpenBoulderMap on GitHub.