A proposal for OpenStreetMap-based maps · Draft for feedback

Mind the Surface

A main road is not always paved

By julcnx · Last updated 13 November 2026

Namibia C48 in Komoot: one orange line, paved and unpaved alike asphalt ends A B
C48, paved side (asphalt)APaved
C48, unpaved side (graded gravel road)BUnpaved
Komoot, today

Namibia, C48, a primary road. The asphalt ends and 19 km of unpaved road begin (tagged surface=gravel).
On the map, it is the same orange line.

Photos: tallguy, Mapillary, 2019, CC BY-SA 4.0 · Map: Komoot, November 2026, © OpenStreetMap contributors

Most map apps built on OpenStreetMap draw an unpaved main road exactly like an asphalt one. In large parts of the world that is not a detail: in the 54 countries I studied, a quarter of the mapped roads are unpaved, including many of the primary and secondary roads that link towns. This proposal suggests that maps keep each road's class colour and add one subtle signal for Unpaved. An optional Off-road mark can show the roughest ones, where the data supports it.

Live demo · App reports · Data and methods

1. The misconception

A red or orange road on a map reads as "a proper road". Most people take that to mean asphalt, and most maps agree with them: when a road has no surface tag it is drawn as paved, and when it does have one, most styles ignore it anyway.

So the map tells the same story for the C48 in Namibia on both sides of the point where the asphalt stops. A driver in a rental car, a cyclist planning a day, a motorcyclist on street tyres, an aid convoy working out how long a trip will take: all of them see one orange line, and only find out on the ground that the next 19 km are gravel.

The data to tell them is already in OpenStreetMap. Mappers have tagged millions of kilometres of road as unpaved. The map just does not show it.

2. How common unpaved main roads are

I classified 20.0 million km of road in 54 countries, from motorways to residential streets (tracks and service roads left out).

These numbers are conservative. I compared them with the last official road statistics of the CIA World Factbook for 34 countries. In 15 the official unpaved share falls inside the OSM range, in 18 it is higher, in 1 it is lower. Where OSM and official figures disagree, the real world has more unpaved road, not less (part of the gap is definition: official figures also count rural tracks that OSM maps as highway=track). And where tagging is weakest (India, Indonesia, Myanmar and Vietnam have no surface on 88 to 91% of their roads), the map looks most paved.

The tags hold up on the ground. I checked 55 roads tagged unpaved on street-level imagery: 41 are unpaved, 9 have been paved since (16%), 5 are mixed.

TrunkPrimarySecondaryTertiary
Gabon45%86%87%49%
Namibia0%66%95%90%
DR Congo43%65%63%57%
Bolivia21%58%73%90%
Mali0%53%89%94%
Mongolia2%36%61%81%
Peru8%40%45%54%
Kenya26%28%46%59%
Iceland0%7%65%76%
Australia2%9%24%45%
Brazil0%2%25%63%
Denmark0%0%0%0%
Share of road length tagged unpaved, by road class. Roads without a surface tag count as paved, so these are minimums. Denmark for comparison. Source: OpenStreetMap, November 2026.
Namibia, C39, primary: unpaved road
Namibia C39, primarystaehler, 2015
Morocco, RR704, secondary: unpaved road
Morocco RR704, secondarymasterofnoroad, 2022
Congo-Brazzaville, P45, secondary: unpaved road
Congo-Brazzaville P45, secondarymab_baldo, 2026
Uganda, secondary: unpaved road
Uganda secondaryroadroid, 2024
Oman, secondary: unpaved road
Oman secondaryvbombaerts, 2020
Kyrgyzstan, M-067, secondary: unpaved road
Kyrgyzstan M-067, secondarycycloscope, 2014
Georgia, Sh10, secondary: unpaved road
Georgia Sh10, secondaryazimuth, 2021
Finland, 522, secondary: unpaved road
Finland 522, secondarykino, 2019
Australia, Gibb River Road, secondary: unpaved road
Australia Gibb River Road, secondarybob3bob3, 2019
Bolivia, F34, secondary: unpaved road
Bolivia F34, secondarySC06, 2024
Mexico, QR 15, secondary: unpaved road
Mexico QR 15, secondarymapeadora, 2022
Guatemala, RD PET-06, secondary: unpaved road
Guatemala RD PET-06, secondaryhsalguero, 2020
Main roads tagged unpaved, checked on street-level imagery. Photos: Mapillary contributors, CC BY-SA 4.0.

3. What apps show today

I checked about 30 OSM-based maps and apps: the web maps on the same six roads, each changing from paved to unpaved, and the phone apps by hand. They fall into three groups. Every app, with what its data carries and where to ask, is in the App reports.

  1. They show it and keep the class. OSM Carto (the default map on openstreetmap.org), Americana and DMD2 draw unpaved roads in their class colour with an added pattern. CyclOSM does it from zoom 14, for cycling, and the cycle.travel planner with a dashed outline. OSM Carto has done so since version 5.7.0 (January 2023), nine years after it was first requested: this proposal builds on its approach and offers the same idea to other maps.
  2. They do not show it, at least not by default. Organic Maps, Komoot, AllTrails, MapTiler, Mapy.com and many more draw the paved and the unpaved part of the same road as one identical line. OsmAnd can show surfaces, but only with an overlay that is off by default.
  3. They show it, but the class is lost. Ride with GPS and the OsmAnd Motorcycle styles (a third-party plugin, not OsmAnd's own styles) draw unpaved roads like tracks. The Humanitarian style gives them the colour of residential streets. Gaia GPS draws tertiary, unclassified and residential roads as tracks when their smoothness is very bad or worse, or when they are tagged 4WD only: the right instinct, a dashed outline, but applied by turning the road into a track.

The third group shows why the class matters. A trunk road drawn like a track no longer says that it is the main route between two towns. And when an important road looks like a track, mappers who want the map to look right may change its highway tag to match, which spreads wrong data. The road class says how important a road is; the surface says what it is like to drive. One signal for both makes both harder to read: keep the signal, keep the class.

Show it, keep the class

Americana at Namutoni
Americana
DMD2 at Namutoni
DMD2

Do not show it

Komoot at Namutoni
Komoot
Mapy.com at Namutoni
Mapy.com

Show it, lose the class

OsmAnd Motorcycle at Namutoni
OsmAnd Motorcycle
Ride with GPS at Namutoni
Ride with GPS
Namibia, C38 at Namutoni (Etosha): unpaved to the west and north, paved to the east. Screenshots of each web map; OsmAnd Motorcycle is a third-party plugin style for the OsmAnd app, rendered on desktop. November 2026, © OpenStreetMap contributors. Every app: App reports.

4. The proposal: two levels

Every road gets one of two levels from its tags:

Level Rule
Paved surface is a paved value, or is missing with tracktype at most grade1, and there is no unpaved evidence
Unpaved any other surface value; no surface and tracktype=grade2 or higher; or unpaved evidence, whatever the surface: smoothness=very_bad or worse, or 4wd_only=yes, recommended or extreme

The paved values are a whitelist: paved, asphalt, chipseal, concrete, concrete:plates, paving_stones, sett, bricks, metal, cobblestone and cobblestone:flattened. wood, concrete:lanes and grass_paver count as paved only when smoothness is bad or better. A value with several parts (asphalt;gravel) is unpaved if any part is.

Why a whitelist. Most styles today list the unpaved values instead. Any value missing from that list, a local material, a new value, a typo, is then drawn as paved. OSM Carto, for example, does not list surface=laterite, a common material in Africa and Asia, so about 1,400 km of laterite main roads are drawn as paved. With a whitelist, such a value is drawn as unpaved, which is the safer mistake.

Why only two levels. Three quarters of all unpaved km (75.4%) are tagged simply surface=unpaved. On the ground that can mean a smooth graded road or a rough track; the photos confirm both. Any finer split on the map would mostly be a guess. Routers, which see the whole route and how much of it is unpaved, are better placed to judge how hard a trip is.

Unpaved does not mean bad. A graded gravel road in Finland or Namibia is fine for any car when it is dry. The map says what the surface is; the reader decides what that means for their vehicle and the season.

Untagged roads stay paved. The proposal only draws what mappers have tagged, and asks no one to change a tag.

5. Optional: the Off-road mark

On unpaved roads only, a map can add a mark for roads that need a high-clearance vehicle, when the tags say so:

smoothness and 4wd_only evidence also makes the road Unpaved, even when surface is paved: a road a city car cannot pass, such as a broken asphalt mountain road, is not drawn as paved.

The mark is optional because the evidence is rare. Only 5.9% of unpaved km carry smoothness, tracktype or 4wd_only, and 3.1% get the mark. In some countries it is common (34% of unpaved km in Bolivia, 25% in Iceland, where the F-roads are tagged 4wd_only); in most it is close to zero. A mark that appears only where someone added a tag looks patchy, so the two base levels are the core of the proposal.

One rule draws it in every style: the Unpaved pattern, only darker (lighter on a dark map). The colour still reads at low zoom, where patterns merge, and the road keeps its class colour. The legend then needs a second word: Off-road.

Country Unpaved km With evidence Off-road mark
Bolivia 175,879 41.1% 34.0%
Iceland 8,469 28.8% 25.0%
Nepal 18,728 22.2% 4.2%
Namibia 46,989 10.4% 1.7%
Australia 459,598 4.8% 3.0%
Brazil 1,537,503 2.0% 0.8%

6. How to draw it

I designed the styles around a few principles from map design and from how people read maps:

Style 3 at zoom 13
Zoom 13
Style 3 at zoom 14
Zoom 14
Style 3 at zoom 16
Zoom 16
Style 3 from overview to detail, at Namutoni. At zoom 13 the road is under 6 pixels wide, so unpaved shows as a plain, darker tint; from zoom 14 the dashes take over. © OpenStreetMap contributors.

Following these principles, I designed five styles, from faint to strong. Each fits some maps better than others:

  1. Grain fill: a fine grain inside the road fill. The approach of OSM Carto, and the most subtle. For maps that can draw fill patterns; it needs a road wide enough to show the grain.
  2. Dashed centre line: a thin dashed line along the middle of the road. For vector styles where fill patterns are hard to draw, and for maps with nothing else in the middle of the road (OSM Carto puts access restrictions there).
  3. Dashed fill: dashes in a band along the middle of the fill. A calmer version of style 5, for maps with many minor roads.
  4. Dashed casing: the outline is dashed, the fill stays continuous, so the road stays one line. White roads also get a light tan fill: a white road with only a dashed outline looked like the tracks of some apps, and on forest its dashes nearly vanished. Not for maps that draw tunnels with a dashed outline.
  5. Dashed fill, full width: dashes across the whole road, as Americana does. The strongest, and loud in towns, so best where minor roads are few.
Proposed: unpaved roads keep their class colour and get a dashed outline Today: every road drawn as paved Today, no surface signal Proposed, style 4 ⇆
Drag to compare. Namibia, C38 at Namutoni (Etosha). Left: every road drawn as paved, as most maps do today. Right: the same map with style 4, a dashed outline on unpaved roads; the class colours stay.

There is no single default: the right style depends on each map's design, and above all on how it already draws tracks, tunnels and construction. The legend needs one word: Unpaved.

Each class colour going Paved, then Unpaved, in the five styles
The four class colours in the five styles. Each road goes Paved, then Unpaved through the S-bend; the side road is a white Unpaved road. Source: research/mockups.

The demo below draws the five styles on real data, at any of the sample spots or anywhere else.

Live demo with real OpenStreetMap data. Switch between the five styles; pick a background at the bottom right. Open the full demo, with search and every sample spot.

7. Limits

8. Future work

9. How to help

What happens next. Feedback is being collected in a thread on the OpenStreetMap community forum. Then comes one request per app, starting with the open-source ones. The App reports will show where each stands.

Questions

Isn't rendering up to each map maker?

Yes, and it stays that way. This changes no tag and sets no rule: it is a suggestion, with styles each map can use or ignore.

Will map makers listen?

In my experience, yes. When I asked maps, routers and editors to support surface=laterite, almost all of them added it within weeks. A clear, small request with data behind it is usually welcome.

Why not just tag better?

Mappers already did: 5.3 million km are tagged unpaved in the 54 countries studied alone. Most maps do not show it yet.

OSM Carto already does this. Why a proposal?

It builds on Carto. But most people use apps, and most apps show nothing.

Untagged roads are not always paved. Why draw them as paved?

The map shows what is tagged and never guesses (Limits).

A gravel road in Finland is fine for any car. Isn't "Unpaved" alarmist?

No: Unpaved is the surface, not the difficulty (The proposal).

Why not show difficulty instead?

Most unpaved roads are tagged only surface=unpaved, which says nothing about difficulty (The proposal).

Won't dashes clutter the map, or look like tracks or tunnels?

That is why there are five styles: each map picks one that stays distinct (How to draw it). I checked how 28 map styles draw tracks and paths, on seven views full of them. None draws tracks with a grain. The most common track look is a single thin dashed line. A few apps (Gaia GPS, AllTrails, the Thunderforest maps) draw tracks as a light line with a dashed outline. A dashed casing on a red, orange or yellow main road keeps its colour and does not look like them; on a white minor road it did, which is why white roads get a light tan fill in that style. OSM Carto and Organic Maps draw tunnels with a dashed outline. Details per app are in the evidence.

Data and methods

The numbers come from OpenStreetMap extracts of 54 countries (November 2026), classified with the two-level rules above. Most were chosen because unpaved roads are common there (in Africa, Asia and Latin America), with developed countries that have unpaved main roads (such as Iceland, Australia, Chile and Finland) and two mostly paved ones for contrast (Denmark and Czechia). The shares describe these countries, not OpenStreetMap as a whole. The two levels were shaped by replies from 44 mappers in the survey for my surface=laterite proposal. The rules, the code and every result are in the GitHub repository:

Credits