Uganda's administrative data, mapped and cited.
Region → sub-region → district → county → subcounty → parish → village, plus boundaries, roads, and 2024 census population — every record sourced, every gap documented.
View on GitHub
npm install uganda-localeEvery district, on the map
Click a district to see its details. Colors reflect 2024 census population by default — toggle to see administrative regions instead.
Click a district on the map, or search for one, to see its details here.
Explore the hierarchy
Drill down from region to village — county, subcounty, parish, and village load live from the API as you go.
Boundary coverage — honestly reported
Every layer below is real, sourced, and cited — but not every layer is complete. Gaps are surfaced, not hidden.
District boundaries136 / 136 · 100.0%
geoBoundaries CC0, 2020 — includes Terego
Region boundaries4 / 4 · 100.0%
Dissolved from district boundaries
Subcounty / town council / division boundaries1,249 / 2,191 · 57.0%
geoBoundaries ADM4 — ambiguous name matches excluded
Parish / ward boundaries423 / 10,717 · 3.9%
HDX admin4, 2020 vintage — genuinely thin coverage
Major road networknot tied to admin units
10,721 OpenStreetMap segments (motorway–tertiary). A road crosses many districts and subcounties, so it isn't scored against a unit count the way boundaries are.Republic of Uganda
Flag, coat of arms, and country metadata — from data/country/uganda.json.
Flag colors
Black#000000rgb(0, 0, 0)
Yellow (Gold)#FCDC04rgb(252, 220, 4)
Red#D90000rgb(217, 0, 0)
CapitalKampala
CurrencyUgandan shilling (UGX)
Calling code+256
TimezoneAfrica/Kampala (+03:00)
Independence1962-10-09
Area241,550 km²
Motto"For God and My Country"
DemonymUgandan
Flag: public domain. Coat of arms: CC BY-SA 3.0 (attribution + share-alike) — stricter than this project's default CC BY 4.0. See LICENSE-DATA.md.
API reference
Every route returns JSON with edge caching. Same data is available as the
uganda-locale npm package.| Route | Description |
|---|---|
| GET/api/regions | All 4 administrative regions |
| GET/api/subregions | All 17 cultural/traditional sub-regions |
| GET/api/districts | 136 districts + population (?regionId=, ?subregionId=) |
| GET/api/cities | 10 second-generation cities + population |
| GET/api/districts/:id/counties | Counties/municipalities under a district |
| GET/api/counties/:id/subcounties | Subcounties/town councils/divisions under a county |
| GET/api/subcounties/:id/parishes | Parishes/wards under a subcounty |
| GET/api/units | Any level, filterable + paginated (?level=, ®ionId=, &subregionId=, &districtId=, &q=) |
| GET/api/units/:id | A single unit + its ancestors and direct children |
| GET/api/units/export | Same filters as /api/units, unpaginated CSV/JSON download (&format=) |
| GET/api/search | Name/alias search (?q=, &level=, &limit=) |
| GET/api/country | Country metadata — ISO codes, currency, flag, etc. |