Pakistan operates a single national numbering plan managed by the Pakistan Telecommunication Authority (PTA). Whether you are integrating a Pakistani phone field into a web form, validating a database of contacts, or simply checking whether a number a customer typed is plausible, understanding the structure of Pakistani numbers saves hours of frustration. This tool validates any Pakistani mobile or landline number entirely in your browser — nothing is ever sent to a server.
How Pakistani phone numbers are structured
Every Pakistani number has three layers:
- Country code:
+92(or trunk prefix0for domestic calls) - Network or area code: 2–4 digits identifying the mobile operator or city
- Subscriber number: 7 or 8 digits uniquely identifying the line
Mobile numbers always have 11 local digits in the form 03XX-XXXXXXX. The trunk 0 is replaced by +92 in E.164, giving 12 digits after the plus sign. The three digits after the 0 (the network code) identify the operator:
| Network code range | Operator |
|---|---|
| 030X, 031X | Jazz (formerly Mobilink + Warid) |
| 032X | Zong (China Mobile Pakistan) |
| 033X, 033X | Ufone (PTCL subsidiary) |
| 034X | Telenor Pakistan |
| 036X | SCO (AJK and Gilgit-Baltistan) |
Landline numbers vary by city. The two largest cities use 2-digit area codes and 8 subscriber digits (Karachi 021, Lahore 042, Islamabad/Rawalpindi 051). All other cities use 3- or 4-digit area codes with 7 subscriber digits. The PTA’s National Numbering Plan (NNP) 2022 edition defines every assignment.
How the validator works
The tool performs these checks in order:
- Strip separators — spaces, hyphens, dots, and brackets are removed, as they carry no information.
- Normalise to local format — prefixes
+92,0092, or bare92are replaced with the domestic trunk0. - Length gate — local digits must be 9–11; anything shorter or longer is rejected immediately.
- Line-type routing — if the digit after the trunk
0is3, the number is treated as mobile;2,4–9route to landline logic. - Mobile path — the 3-digit network code is looked up in the PTA operator registry. The subscriber must be exactly 7 digits, giving 11 local digits total.
- Landline path — the tool tries to match the longest area code first (4 digits, then 3, then 2). The subscriber digit count is then checked against the PTA specification for that city.
- Output — operator name or city, both the local
0NNN-XXXXXXXformat and the E.164+92NXXXXXXXXXformat, ready to copy.
Worked example
Suppose you receive the number 00923331234567 in a form submission.
- Strip separators:
00923331234567 - Starts with
0092→ normalise to03331234567 - 11 digits, second digit is
3→ mobile path - Network code
333→ Ufone (PTCL) - Subscriber:
1234567(7 digits — correct) - Local format: 0333-1234567
- E.164: +923331234567
- Result: Valid — Ufone mobile number
Compare a landline: 042-35761234 (Lahore).
- Strip hyphens:
04235761234 - 11 digits, second digit is
4→ landline path - Try 4-digit code
4235— no match; try 3-digit423— no match; try 2-digit42— match: Lahore, 8 subscriber digits - Subscriber:
35761234(8 digits — correct) - E.164: +924235761234
- Result: Valid — Lahore landline