Skip to content
induwara.lk
Premium
induwara.lkSri Lanka · Utility

Sri Lanka Postal Code Finder — 5-Digit ZIP Lookup by Town

Look up the 5-digit postal (ZIP) code for any Sri Lankan town, suburb, or post office — or decode a code back into its post office, district, and province. All 70 bundled post offices are also listed A–Z by district further down the page, and every lookup runs entirely in your browser.

By Induwara AshinsanaUpdated Oct 1, 2026
Find any Sri Lankan postal codeName → code · Code → name
Runs in your browser

70 post offices across all 25 districts · curated subset, last reviewed 2026-05-12

Typing only digits switches to reverse-lookup. Use ↑/↓ to move, Enter to copy, Esc to clear.

Popular searches

Found 1 match

  • Nugegoda

    Colombo District · Western Province

A curated subset of 70 post offices — not the official directory. Sri Lanka Post does not publish its Directory of Postcodes online: its postcodes page sells the printed booklet at any post office for Rs 5 and tells people not to guess a code but to ask at the counter. The 5-digit format follows the Universal Postal Union's LK addressing reference; this data was last reviewed on 2026-05-12. Where a code here disagrees with the one displayed at your post office, that one is right. Missing an office? Email [email protected] and it will be added from the printed directory.

How it works

Sri Lanka uses a 5-digit postal code administered by Sri Lanka Post (the Sri Lanka Postal Department). The format is fixed: exactly five digits, no letters, no spaces. The structure encodes geographic routing information in two parts.

First two digits — postal region. The leading pair identifies a district or postal region group. Codes starting with 00 belong to Colombo city subzones (Colombo 01 through Colombo 15, codes 00100 to 01500). Codes starting with 10 cover greater Colombo and the Western Province suburbs that ring the city — Sri Jayawardenepura Kotte, Nugegoda, Maharagama, Moratuwa, Panadura. The remaining ranges map onto districts: 20 = Kandy, 40 = Jaffna, 60 = Kurunegala, 80 = Galle, 90 = Badulla, and so on.

Last three digits — sub-post-office sequence. Within each region the trailing three digits identify a specific sub-post-office in allocation order. So 00100 is Colombo GPO (the parent post office in Colombo Fort), 00300 is Colombo 03 (Kollupitiya), and 00700 is Colombo 07 (Cinnamon Gardens). Sequence allocation is not alphabetic and not contiguous — gaps reflect historical openings and closures.

How the search works.The directory is bundled as a static JSON dataset inside the page — no network calls, no rate limits, no tracking. When you type a query the tool runs three passes against every record's name and alias list:

  1. Exact match and starts-with match get the highest rank.
  2. Word-boundary containsmatch comes next (so “galle” matches “Galle Fort”).
  3. Fuzzy match via Levenshtein edit distance ≤ 2 catches typos like “negomba” → Negombo.

If your query is all digits the search switches to reverse-lookup mode: an exact 5-digit input returns the matching record, while a 1–4 digit prefix returns every code in that region. Optional district and province filters narrow the result set further.

Self-verification. The data module exposes a regionFromCodePrefix()cross-check that maps a code's first two digits to its expected province per Sri Lanka Post's documented system. Every record in the directory satisfies this invariant, and if a future update introduces a record whose declared province disagrees with its code prefix the UI shows an inline cross-check warning.

Why post offices, not addresses. Sri Lanka Post allocates one code per post office, not per street or building. A code like 10250 covers Nugegoda and every lane that posts through the Nugegoda office, so two houses a kilometre apart can share a code while a third house on the boundary routes through Maharagama (10280) instead. That is why the search keys on post office and town names rather than asking for a house number — you find the office that serves your address, then use its code. Postal codes are routing identifiers only; they are not personal identifiers like the National Identity Card number, which encodes date of birth and gender and is decoded by our Sri Lanka NIC decoder.

Worked examples

Forward lookup — Nugegoda

query: nugegoda

  1. Normalise the query: lowercase, trim, strip diacritics → 'nugegoda'.
  2. Walk every record's name + aliases looking for the best match.
  3. Find canonical match: { code: 10250, name: 'Nugegoda', district: 'Colombo', province: 'Western' }.
  4. Cross-check: 10250 starts with '10' → Greater Colombo / Western — matches the declared province ✓.
  5. Display row · one tap on the code copies 10250 to the clipboard.

Reverse lookup — 00300

query: 00300

  1. Input is all digits and exactly 5 long → switch to byCode mode.
  2. Filter the directory by code === '00300'.
  3. Match: { code: 00300, name: 'Colombo 03 (Kollupitiya)', district: 'Colombo', province: 'Western' }.
  4. Cross-check: 00300 starts with '00' → Colombo city subzones / Western — matches ✓.
  5. Display row with the post office name and a one-tap copy button.

Prefix browse — '20' for Kandy region

query: 20

  1. Input is all digits but only 2 long → byCode mode, prefix match.
  2. Filter the directory by code.startsWith('20').
  3. Matches include Kandy (20000) and Peradeniya (20400).
  4. Sort by code ascending → Kandy GPO first, Peradeniya second.
  5. Useful when you know the district but not the specific post office.

Edge case — fuzzy typo 'negomba'

query: negomba

  1. Normalise: lowercase, trim → 'negomba' (7 letters, one short of 'negombo').
  2. No exact, starts-with, or contains match exists for 'negomba'.
  3. Query length ≥ 4, so the fuzzy pass runs Levenshtein distance.
  4. distance('negomba', 'negombo') = 1 (single substitution a→o) ≤ 2 → fuzzy hit.
  5. Return Negombo (11500), Gampaha District, Western Province ✓.

Edge case — unallocated code 99999

query: 99999

  1. Input is 5 digits → byCode exact mode.
  2. No record has code === '99999' (the 99 prefix is not allocated).
  3. regionFromCodePrefix('99999') returns null — prefix '99' is unknown.
  4. Result set is empty → the UI shows the 'No matches' guidance card.
  5. Suggested fix: search by the nearest town name, or try a known prefix.

Postal code regions of Sri Lanka

Every two-digit prefix maps to a district per Sri Lanka Post's published code structure. This table is the canonical reference used by the cross-check function in the data module.

PrefixRegionProvince
00xxxColombo city subzonesWestern
10xxxGreater Colombo & Western suburbsWestern
11xxxGampaha DistrictWestern
12xxxKalutara DistrictWestern
20xxxKandy DistrictCentral
21xxxMatale DistrictCentral
22xxxNuwara Eliya DistrictCentral
30xxxBatticaloa DistrictEastern
31xxxTrincomalee DistrictEastern
32xxxAmpara DistrictEastern
40xxxJaffna DistrictNorthern
41xxxMannar DistrictNorthern
42xxxMullaitivu DistrictNorthern
43xxxVavuniya DistrictNorthern
44xxxKilinochchi DistrictNorthern
50xxxAnuradhapura DistrictNorth Central
51xxxPolonnaruwa DistrictNorth Central
60xxxKurunegala DistrictNorth Western
61xxxPuttalam DistrictNorth Western
70xxxRatnapura DistrictSabaragamuwa
71xxxKegalle DistrictSabaragamuwa
80xxxGalle DistrictSouthern
81xxxMatara DistrictSouthern
82xxxHambantota DistrictSouthern
90xxxBadulla DistrictUva
91xxxMonaragala DistrictUva

Sri Lanka postal codes A–Z by district

Every one of the 70 post offices bundled in the finder above is also listed here as plain HTML — grouped by district, sorted A–Z by post office name — so you can scan or Ctrl-F the whole set without typing a query.

Read it as a curated subset, not the official directory. Sri Lanka Post does not publish its Directory of Postcodes online: its own postcodes page sells the printed booklet at any post office for Rs 5 and says plainly, “Do not guess; if you have a doubt please inquire from the nearest post office or sub post office.” Where a code here disagrees with the one displayed at your counter, the counter is right.

Colombo DistrictWestern Province · 28 post offices

Postal codes bundled for Colombo District
Post officePostal codeAlso searched as
Athurugiriya10230—
Battaramulla10120—
Boralesgamuwa10300—
Colombo (Fort GPO)00100colombo 01, colombo 1, fort, colombo gpo
Colombo 02 (Slave Island)00200colombo 2, slave island, kompanna veediya
Colombo 03 (Kollupitiya)00300colombo 3, kollupitiya, galle road
Colombo 04 (Bambalapitiya)00400colombo 4, bambalapitiya, bambalawatte
Colombo 05 (Havelock Town)00500colombo 5, havelock town, kirulapone, narahenpita
Colombo 06 (Wellawatte)00600colombo 6, wellawatte, wellawatta
Colombo 07 (Cinnamon Gardens)00700colombo 7, cinnamon gardens, rajagiri
Colombo 08 (Borella)00800colombo 8, borella
Colombo 09 (Dematagoda)00900colombo 9, dematagoda
Colombo 10 (Maradana)01000maradana
Colombo 11 (Pettah)01100pettah, pita kotuwa
Colombo 12 (Hulftsdorp)01200hulftsdorp, hulftsdorf
Colombo 13 (Kotahena)01300kotahena
Colombo 14 (Grandpass)01400grandpass
Colombo 15 (Mutwal)01500mutwal, modara
Kesbewa10370—
Maharagama10280—
Moratuwa10500—
Mount Lavinia10400dehiwala-mount lavinia, galkissa
Nugegoda10250nugegoda super grade
Pannipitiya10290—
Pelawatta10200pelawaththa
Piliyandala10350—
Rajagiriya10150welikada
Sri Jayawardenepura Kotte10100kotte, sri jayawardanapura, pita kotte, sri jayawardenepura

Gampaha DistrictWestern Province · 4 post offices

Postal codes bundled for Gampaha District
Post officePostal codeAlso searched as
Katunayake11860katunayake airport, bandaranaike airport
Negombo11500—
Ragama11000—
Wattala11600—

Kalutara DistrictWestern Province · 3 post offices

Postal codes bundled for Kalutara District
Post officePostal codeAlso searched as
Horana10700—
Kalutara12000kalutara north, kalutara south
Panadura10600—

Kandy DistrictCentral Province · 2 post offices

Postal codes bundled for Kandy District
Post officePostal codeAlso searched as
Kandy20000kandy gpo, mahanuwara
Peradeniya20400university of peradeniya

Matale DistrictCentral Province · 2 post offices

Postal codes bundled for Matale District
Post officePostal codeAlso searched as
Dambulla21100—
Matale21000—

Nuwara Eliya DistrictCentral Province · 1 post office

Postal codes bundled for Nuwara Eliya District
Post officePostal codeAlso searched as
Nuwara Eliya22200—

Galle DistrictSouthern Province · 3 post offices

Postal codes bundled for Galle District
Post officePostal codeAlso searched as
Ambalangoda80250—
Galle80000galle gpo, galle fort
Hikkaduwa80200—

Matara DistrictSouthern Province · 2 post offices

Postal codes bundled for Matara District
Post officePostal codeAlso searched as
Matara81000—
Weligama81100—

Hambantota DistrictSouthern Province · 3 post offices

Postal codes bundled for Hambantota District
Post officePostal codeAlso searched as
Hambantota82000—
Tangalle82200tangalla
Tissamaharama82600—

Jaffna DistrictNorthern Province · 1 post office

Postal codes bundled for Jaffna District
Post officePostal codeAlso searched as
Jaffna40000—

Kilinochchi DistrictNorthern Province · 1 post office

Postal codes bundled for Kilinochchi District
Post officePostal codeAlso searched as
Kilinochchi44000—

Mannar DistrictNorthern Province · 1 post office

Postal codes bundled for Mannar District
Post officePostal codeAlso searched as
Mannar41000—

Mullaitivu DistrictNorthern Province · 1 post office

Postal codes bundled for Mullaitivu District
Post officePostal codeAlso searched as
Mullaitivu42000—

Vavuniya DistrictNorthern Province · 1 post office

Postal codes bundled for Vavuniya District
Post officePostal codeAlso searched as
Vavuniya43000—

Trincomalee DistrictEastern Province · 1 post office

Postal codes bundled for Trincomalee District
Post officePostal codeAlso searched as
Trincomalee31000—

Batticaloa DistrictEastern Province · 1 post office

Postal codes bundled for Batticaloa District
Post officePostal codeAlso searched as
Batticaloa30000—

Ampara DistrictEastern Province · 2 post offices

Postal codes bundled for Ampara District
Post officePostal codeAlso searched as
Ampara32000—
Kalmunai32200—

Kurunegala DistrictNorth Western Province · 1 post office

Postal codes bundled for Kurunegala District
Post officePostal codeAlso searched as
Kurunegala60000—

Puttalam DistrictNorth Western Province · 2 post offices

Postal codes bundled for Puttalam District
Post officePostal codeAlso searched as
Chilaw61000—
Puttalam61300—

Anuradhapura DistrictNorth Central Province · 1 post office

Postal codes bundled for Anuradhapura District
Post officePostal codeAlso searched as
Anuradhapura50000—

Polonnaruwa DistrictNorth Central Province · 1 post office

Postal codes bundled for Polonnaruwa District
Post officePostal codeAlso searched as
Polonnaruwa51000—

Badulla DistrictUva Province · 3 post offices

Postal codes bundled for Badulla District
Post officePostal codeAlso searched as
Badulla90000—
Bandarawela90100—
Haputale90200—

Monaragala DistrictUva Province · 2 post offices

Postal codes bundled for Monaragala District
Post officePostal codeAlso searched as
Monaragala91000moneragala
Wellawaya91500—

Ratnapura DistrictSabaragamuwa Province · 2 post offices

Postal codes bundled for Ratnapura District
Post officePostal codeAlso searched as
Embilipitiya70500—
Ratnapura70000rathnapura

Kegalle DistrictSabaragamuwa Province · 1 post office

Postal codes bundled for Kegalle District
Post officePostal codeAlso searched as
Kegalle71000kegalla

How to write a Sri Lankan address with the postal code

Sri Lanka Post places the postal code on its own line, at the end of the address block, directly under the town. The standard four-to-five line domestic format reads: recipient name; house number and street; village or suburb; town; then the 5-digit code on the final line. For example, a parcel to Nugegoda is addressed with NUGEGODA on one line and 10250 on the line below it — never inline with the town and never prefixed with letters. Writing the code on a line of its own helps automated sorting machines read it cleanly.

On international forms the same 5-digit number goes in whichever field is labelled ZIP, PIN, postcode, or postal code; the country is always written as SRI LANKA in capitals on the last line. If a form rejects the code for being “too short”, the form is usually expecting a US 5-digit ZIP or a 6-digit format — the Sri Lankan 5-digit code is correct as-is and can be entered without padding. E-commerce checkouts that validate against a country list will accept it once Sri Lanka is selected as the country.

Postal codes also matter for delivery timing. Mail and parcels route through the parent post office named against the code, so an item to a rural code may add a day for onward delivery to the village. If you are planning around delivery windows — say, posting documents before a deadline — pair this finder with the Sri Lanka working days calculator to count past weekends and public holidays when Sri Lanka Post counters are closed. And when the address is a block of land described by deed rather than a street — common for plots in the outer districts — our land area converter turns perches, roods, and acres into the units a courier or surveyor expects.

Frequently asked questions

Sources & references

70 post offices are bundled here, covering all 25 districts and all 9 provinces — a small fraction of the roughly 650 post offices in the country. Sri Lanka Post does not publish its Directory of Postcodes online: its own postcodes page says the directory is sold at any post office for Rs 5, and tells people not to guess a code but to ask at the counter. That was checked again on 2026-09-22, and it is why this page has not been expanded from a fetchable list. If your post office is missing, email me and I will add it from the printed directory rather than from a guess — and if a code here disagrees with the one displayed at your post office, that one is right.

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.

Spotted a missing post office, a stale code, or a typo?

Email me at [email protected] — corrections are applied from the printed Directory of Postcodes, never from a guess.