The five-digit prefix on a CNIC is a nested address. Each digit narrows the one before it, the way a postcode narrows a country. Understanding the nesting is the whole trick to reading it.
Four layers in five digits
Take 35202, a Lahore prefix, and peel it apart:
- 3 — Punjab. The province. Definitive.
- 5 — Lahore Division, the fifth division in Punjab’s internal ordering.
- 2 — Lahore District, the second district inside that division.
- 02 — a local registration zone inside Lahore; in this register, the Cantt and Model Town belt.
Read as a unit, 352 is the district code and 02 is the zone inside it. Almost everything people want to know — “which district is this card from?” — is answered by the first three digits alone.
Layer 1: the province digit
Seven values, fixed, and the one part of the scheme that is not in dispute:
| Digit | Region | Districts in register |
|---|---|---|
| 1 | Khyber Pakhtunkhwa | 27 |
| 2 | FATA (legacy) | Merged into K-PK, 2018 |
| 3 | Punjab | 36 |
| 4 | Sindh | 30 |
| 5 | Balochistan | 30 |
| 6 | Islamabad Capital Territory | 1 |
| 7 | Gilgit-Baltistan | 11 |
Anything outside 1–7 in the first position is not a valid Pakistani CNIC prefix. That is the fastest sanity check there is on a number someone has given you.
Layer 2: the division digit
A division is the administrative tier between province and district. Punjab has eight in this scheme, Sindh six, Balochistan six, K-PK seven, Gilgit-Baltistan two, and Islamabad one. The second digit picks among them.
Because divisions are numbered per province, the same digit means different things in different places. 32 opens Bahawalpur Division in Punjab; 42 opens Karachi Division in Sindh. There is no cross-province meaning to a bare division digit.
Layer 3: the district digit
The third digit selects a district within the division. Divisions containing many districts use the full 1–9 range; small divisions use only the first few values. Islamabad, being a single district in a single division, is simply 611.
This is the layer that answers the common question. If someone asks “what district is 41205?”, the answer comes from 412 — Dadu, Sindh — and the 05 only refines it further.
Layer 4: the local zone
The final two digits identify a registration zone inside the district, roughly at union-council level. This is where the scheme stops being readable. NADRA has never published the zone table, and it is large: hundreds of districts’ worth of local subdivisions.
This register names the zones it can support from public records — codes like 42101 and 41205 — and says plainly that the rest are unnamed rather than inventing labels for them.
Documented versus derived
Every entry in this register carries one of two marks, and the distinction matters:
- Documented anchor (●) — the mapping appears consistently in published records and worked examples. Treat it as solid.
- Derived (○) — the mapping follows the standard scheme and community lists but has no published source confirming it. Treat it as a strong indication.
Any reference that presents all 135 district codes with equal certainty is overstating what is actually known.
Why codes drift over time
Pakistan’s district map is not static. Korangi was carved out of Karachi in 2013; Keamari in 2020; Murree became a district in 2022; the FATA agencies merged into Khyber Pakhtunkhwa in 2018. Each change creates new codes.
What it does not do is change cards already in circulation. A number printed in 2009 keeps its 2009 prefix forever. So a card’s prefix tells you where and, loosely, when it was registered — which is exactly why a prefix sometimes disagrees with today’s district boundaries.