Disc Golf Tagging in OpenStreetMap

A reference for mappers, and a citation source for the OSM community: the tagging scheme Planet DiscGolf follows, and the verified statistics behind it. Every number below was checked against the OpenStreetMap API, Overpass, and taginfo on 2026-07-02 — see Sources & method.

At last build, Planet DiscGolf tracked 2590 disc golf courses from this same OpenStreetMap dataset.

The scheme, in short

One course = one OSM object. Interior features use a dedicated namespace. This mirrors how golf is tagged (leisure=golf_course + golf=*) — the same model, applied to disc golf.

Courseleisure=disc_golf_course + sport=disc_golf + name=*, on one node placed at the course entrance or first tee — near parking, where a router should send you.
Teedisc_golf=tee (node); optional surface=*, colour=*
Basketdisc_golf=basket (node)
Holedisc_golf=hole (way, tee→basket); carries par=* and dist=* (bare meters); ref=* only for single-layout courses
Fairwaydisc_golf=fairway (area), where mapped
Mando / drop zonedisc_golf=mando / disc_golf=drop_zone (node)

Don't: leisure=pitch or leisure=track for the course; sport=disc_golf on tees, baskets or holes (the course node already states the sport); golf=* keys; name=* on individual holes; an invented leisure=park boundary drawn just to carry the course tags.

Multi-layout courses

Same holes, different tee positions or hole counts (short 9 vs. full 18, seasonal layouts): use one type=disc_golf_layout relation per configuration. Hole number comes from the relation member's position — the first role=hole way is hole 1 — never from ref on the way itself, since the same way can be a different hole number in a different layout. The course node is a mandatory role=course member.

DiscGolfPark Běchovice (Prague) has three type=disc_golf_layout relations sharing one course node — the reference implementation. See it on the live map or its course page.

The scheme has also been adopted independently: Thornbury Park Disc Golf (Pennsylvania, US) uses the same relation structure without any involvement from us.

The numbers

Totals (taginfo, 2026-07-02): 2,674 objects tagged leisure=disc_golf_course (1,648 nodes / 849 ways / 177 relations); 3,773 objects tagged sport=disc_golf. About 18.5% of courses lack the sport tag entirely — a gap that's growing since the iD editor stopped auto-adding it in July 2025 (see the renderer matrix below). Beyond the course feature itself, roughly 31,106 disc_golf=tee/basket/hole micro-features are mapped (10,181 tees / 10,474 baskets / 10,451 holes).

Where sport=disc_golf actually points

A full Overpass dump of every sport=disc_golf object shows only 57.8% of it is the course feature itself. This is why a renderer keying on the sport tag alone shows noise — see the renderer matrix below.

CarrierCountShareAssessment
leisure=disc_golf_course2,18157.8%the course feature — correct
leisure=pitch3198.5%fairways mis-mapped as pitches
disc_golf=hole3148.3%redundant — the course node already states the sport
disc_golf=basket2837.5%redundant
disc_golf=tee2346.2%redundant
no physical carrier tag1463.9%a floating sport tag on nothing
leisure=track862.3%mistagged course or fairway
golf=pin / golf=green461.2%the wrong sport's namespace
tourism=information371.0%info boards carrying course tags
other (park, sports_centre, grass…)1273.4%mixed carriers, case-by-case

Geographic distribution

leisure=disc_golf_course by country (Overpass, 2026-07-02) — a curated selection of major markets, not exhaustive:

CountryCourses
United States1,376
Finland340
Sweden167
Canada121
Norway106
Germany95
Estonia86
Czechia76
Australia41
Denmark38
France37
Austria18
New Zealand17
Netherlands15
Switzerland15
United Kingdom12
Japan8
Ireland0

The top 5 countries hold roughly 79% of all mapped courses.

Mistagging patterns found

PatternCountNote
Course name is a hole/basket label (e.g. "1", "Hull 1")85really a mistagged tee, basket or hole — not a distinct course
Course tags placed on a tourism=information board17should sit on a dedicated course point; the board stays tourism=information only
No name at all75328% of all courses — often recoverable from on-site signage
Duplicate-flagged courses (same name within 500m)151name+proximity dedup flag; see docs/OSM_CLEANUP_AND_TAGGING_PROPOSAL.md C1 for the cluster-level audit (64 clusters, 86 surplus objects) — a different, coarser count from a separate pass

Renderer & editor support

ConsumerSupportMechanismSourceNote
OsmAndRenders + searchablesport=disc_golf only — misses leisure-only coursesOsmAnd-resources commit 2e54c440 (Jan 2024)basket icon from zoom 15; applies PR #1028
Organic MapsNonetype dropped by the map generatorissue #1917 comment (Apr 2023)not displayed, not searchable
CoMapsNonesame gap — Organic Maps forkcomaps#2629 (open, Nov 2025)open request lists disc_golf_course explicitly
OSM Carto (osm.org default "Standard" layer)Not renderedno disc golf case in the stylesheet yetissue #3766 (open, reopened 2022)blockers: mapper consensus, node/area split, a non-basket icon
iD editorPresets for course/tee/basket/holeleisure=disc_golf_course — no longer auto-adds the sport tagid-tagging-schema PR #1639 (Jul 2025)tee and basket presets still share one icon (#2246, open)
JOSMNo built-in presetcommunity preset (2018) + map style (2024)Styles/DiscGolfCourse (Negreheb, 2024)the 2018 external preset still pushes a deprecated relation type
VespucciFull default presetleisure=disc_golf_course + disc_golf=tee/basket/holebeautified-JOSM-preset commit f057007c (Sep 2023)tee preset currently allows area geometry (reported)
StreetCompletePartial, via generic questsleisure=disc_golf_course in fee and opening-hours questsPR #6357 (Jun 2025)no dedicated disc golf quest yet

Verified examples

Well-tagged courses

Common mistakes, in the wild

Sources & method

Statistics on this page come from three sources, each cross-checked: the taginfo API for totals, full Overpass API dumps for carrier and geographic breakdowns, and individual OSM API lookups to verify every example cited by hand. All figures are a point-in-time snapshot from 2026-07-02.

Disc golf tagging FAQ

Which tags does a disc golf course need?

leisure=disc_golf_course plus sport=disc_golf and a name, on one node placed at the course entrance or first tee. That alone is enough to appear on every OSM-based disc golf map.

Should a course be a node or an area?

A node is preferred — it doubles as the point a router navigates to. An area is fine where the boundary is verifiable on the ground, but never tag both a node and an area for the same course.

Why doesn't my course show up in OsmAnd?

OsmAnd currently renders disc golf only via the sport=disc_golf tag, not leisure=disc_golf_course alone. Add sport=disc_golf to the course node — see the tagging statistics on this page for how common this gap is.

How do I map a course with multiple layouts (tee/basket variants)?

Use one type=disc_golf_layout relation per playable configuration, with the hole ways in playing order and the course node as a role=course member. See the multi-layout section on this page.

Open the map Review OSM data How to contribute

Want to edit OSM directly? openstreetmap.org/edit.