induwara.lk
induwara.lkSri Lanka · Utility

Sri Lanka Postal Code Finder

Look up the 5-digit postal (ZIP) code for any Sri Lankan city, suburb, or post office — or decode a code back into its post office, district, and province. Data is curated from Sri Lanka Post; lookups run entirely in your browser.

By Induwara AshinsanaUpdated Jun 22, 2026
Find any Sri Lankan postal codeName → code · Code → name
Sri Lanka Post verified

70 post offices · last verified 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

Directory data is curated from Sri Lanka Post's official postal code list and the Universal Postal Union's LK addressing reference. Every record was reconciled against Sri Lanka Post on 2026-05-12. If a post office is missing, email [email protected] and it will be added.

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

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

Directory data was last reconciled against Sri Lanka Post on 2026-05-12. 70 post offices are currently bundled, covering all 25 districts and all 9 provinces.

Related tools

Rate this tool
Be the first to rate

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] — the directory is updated whenever Sri Lanka Post publishes changes.