Sri Lanka Grama Niladhari (GN) Division Finder
Search every one of Sri Lanka's 14,043Grama Niladhari divisions by name in English or Sinhala, or by code. Each result gives the division's Divisional Secretariat, district, province, area and P-code — and picking a DS division prints its whole GN division list. Free, no sign-up, runs in your browser.
How it works
Sri Lanka's administrative geography has four tiers: 9 provinces → 25 districts → 339 Divisional Secretariat divisions → 14,043 Grama Niladhari divisions. The GN division is the smallest unit of the state — usually one village or one city neighbourhood — and almost every form asks for it: the NIC application, the passport application, an Aswesuma appeal, Grade 1 school admission, a police entry, a land transfer, a bank KYC file.
Where the data comes from.Every name, boundary, area and code on this page is read out of the Sri Lanka Subnational Administrative Boundaries dataset — the Survey Department of Sri Lanka's own boundary set, distributed by the Humanitarian Data Exchange as an XLSX workbook. This page uses version v03, valid on 2022-08-09, republished 2026-01-26 and parsed on 2026-09-25. Sheet lka_admin4 holds 14,043 rows; sheet lka_admin3 holds the 339 DS divisions above them. Nothing is transcribed by hand and nothing is estimated.
How the code is read. Every division carries a nine-character P-code laid out as LK + district (2) + DS division (2) + division (3). So LK1103010 is Mattakkuliya: district 11, DS division 03 (Colombo), division 010. The full P-code is the identifier this tool treats as canonical; the last three characters are shown as the division's sequence inside its DS division.
Why it is not called “the GN number”.Sri Lanka has a second numbering scheme — a district-wide GN code published by the Department of Census and Statistics, which runs from 1 to about 600 within a district and takes letter suffixes when a division splits. Madiwela's P-code is LK1121015, but its district-wide GN code is 524; Depanama's P-code is LK1121065and its GN code is 529A. The two are different numbers for the same place, and the district-wide one is what a Grama Niladhari's stamp shows. The P-code's district segment does not match the Census district code either — this dataset has 42 for Mannar where the Census scheme has 42 for Kilinochchi. Because the district-wide code is not published in machine-readable form for all 14,043 divisions, this tool shows the P-code and says so, rather than printing a number that might be wrong on a form you sign.
How the search ranks. An exact name match sorts above a prefix match, which sorts above a substring match, and every tie breaks on the P-code — so the same query always returns the same order. English queries fold case, strip accents and collapse punctuation before matching the English name; Sinhala queries match the Sinhala name as typed, because normalising Sinhala would strip the vowel signs the reader actually entered. A code query accepts the full P-code, its seven digits, or a bare three-digit segment once a DS division is chosen — a bare segment on its own is refused, with the reason, because it repeats in nearly every one of the 339 DS divisions.
Cross-checks.Two run on every view. The first recomputes the structural totals three separate ways — summed per district, summed per DS division, and against the source's own row count — and the tool prints the result: 14,043 from the district sums, 14,043 from the DS sums, 14,043 rows in the source, agreeing exactly. The second runs on the rows actually parsed for the district you are looking at: it rebuilds each P-code from its three segments and compares it with the stored value, confirms every DS division in the chunk exists in the index, and confirms the segments rise strictly inside each DS division. The badge under the results turns green only when all three hold.
Coverage, stated plainly. The source names 13,978 of 14,043 divisions in English and the same number in Sinhala (99.54%); the remaining 65 rows have a boundary and a P-code but no name in the dataset at all, and are listed as such. Tamil GN names are not in this release — 0 of 14,043 rows carry one — so the tool shows the DS division's Tamil name and says the GN-level name is unpublished rather than transliterating a guess. Compared against this site's own Census 2012 DS directory, 259 of the 339DS names match character-for-character; the rest differ only in transliteration (“Galle 4 Gravets” against “Galle Four Gravets”, “Addalaichenai” against “Addalachchenai”).
Payload.The index — provinces, districts, DS divisions, the parser and the matcher — is the only part in the page's JavaScript. The 14,043 division rows sit in 25 per-district modules that load on demand, so choosing your district downloads exactly one of them. Only the All Sri Lanka option pulls the whole directory, and it says so before it does.
What this tool deliberately leaves out
No address geocoding, no map tiles, no Grama Niladhari officer names or phone numbers, and no population per GN division. Address lookup needs a geocoder against the polygons and would be confidently wrong too often. Map tiles would break this site's page-weight budget; each result links out to Google Maps at the division's centroid instead. Officer names and phone numbers change constantly and are not published centrally — the DS Division Finder links to the offices that hold them. Census 2012 did not publish population at GN level in this release.
Worked examples
Three lookups, reconciled against the source workbook before the code was written and re-run through the shipped functions afterwards. Try each one above — the result should match these steps exactly.
Frequently asked questions
Sources & references
- Sri Lanka — Subnational Administrative Boundaries (COD-AB), Humanitarian Data Exchange — the dataset behind every record on this page
- lka_admin_boundaries.xlsx — the exact workbook parsed (v03, valid 2022-08-09, republished 2026-01-26)
- Survey Department of Sri Lanka — the originating authority for the boundary set
- Department of Census and Statistics — published structural counts and the district-wide GN division code
- Administrative Divisions of Sri Lanka (PDF) — Census 2012 figures: 331 DS divisions, 14,022 GN divisions
- Election Commission of Sri Lanka — electoral registers are published per GN division
Last parsed and cross-checked on 2026-09-25. On that date the P-code ↔ name ↔ DS division mapping was verified against nine independently maintained per-division records drawn from three districts, and all nine matched exactly. The district-wide GN code question is documented in the module header rather than guessed at.
Snapshot — GN divisions per district, by province
- Western Province — Colombo (557), Gampaha (1,177), Kalutara (762)
- Central Province — Kandy (1,187), Matale (545), Nuwara Eliya (491)
- Southern Province — Galle (895), Matara (650), Hambantota (576)
- Northern Province — Jaffna (436), Mannar (153), Vavuniya (102), Mullaitivu (135), Kilinochchi (95)
- Eastern Province — Batticaloa (368), Ampara (503), Trincomalee (230)
- North Western Province — Kurunegala (1,610), Puttalam (548)
- North Central Province — Anuradhapura (694), Polonnaruwa (295)
- Uva Province — Badulla (567), Monaragala (319)
- Sabaragamuwa Province — Ratnapura (575), Kegalle (573)
Totals: 14,043 GN divisions in 339 DS divisions, 25 districts and 9 provinces.
Related tools
Comments & feedback
Spotted a bug or want an improvement? Tell us — our team reviews every comment, and good ideas get built. Comments are public and anonymous.
Know the district-wide GN code for a division, spotted a missing division, or have a Sinhala spelling correction?
Email me at [email protected] — fixes usually ship within 24 hours.