01Scope
The project covers the National Assembly only, and within it the directly elected general seats only — the reserved seats for women and non-Muslims are filled by proportional allocation rather than a direct vote, and are excluded. It covers eleven general elections: 1977, 1985, 1988, 1990, 1993, 1997, 2002, 2008, 2013, 2018 and 2024. Two national polls are missing and their absence is deliberate rather than accidental — the 1970 election that preceded the break-up of the country used a different assembly altogether, and no consolidated candidate-level source for it meets the standard used here.
Throughout, the map shows strictly the election-day outcome: seats whose poll was postponed and later held as a supplementary poll are marked postponed rather than filled with the later winner, seats returned unopposed are shown as such, and by-elections between general elections are not shown. The dynasties and careers layer links the same person across elections using candidate records from 1977 onward; pre-1993 records are transcribed less consistently, so links across the 1990–1993 source seam are made only on strong name-and-district evidence, and long-gap matches (a 1980s name reappearing after 2002) demand a rare name. The 1985 election was held on a non-party basis and is excluded from party-switching figures.
02Results, 1977–2024
No single source covers the whole period, so the record is assembled from three, and which one a given election rests on matters more than any other fact about it.
| Elections | Source | Status | Per-seat turnout |
|---|---|---|---|
| 1977 · 1985 · 1988 · 1990 | ElectionPakistani, scraped seat by seat | unofficial transcription | not published |
| 1993 · 1997 · 2002 | Colin Cookman, pakistan_elections | Commission-derived, GPL-3.0 | yes |
| 2008 · 2013 · 2018 | Colin Cookman, both repositories | Commission-derived, GPL-3.0 | yes |
| 2024 | ElectionPakistani + 254 official Form-47 scans | provisional, cross-checked here | yes, from the forms |
The four oldest elections — 1977, 1985, 1988 and 1990 — exist in consolidated, machine-readable form nowhere official. Each of their seats was pulled individually from ElectionPakistani's per-constituency pages, cached, and parsed offline by a re-runnable script, giving 649 candidate rows for 1977, 1,065 for 1985, 1,186 for 1988 and 1,226 for 1990. Every seat parsed in all four. What the source does not carry, we do not invent: registered electorate, votes polled and turnout are simply absent per seat for these years, so those fields are null and the map shows the published national figure instead. A residue of seats gives a winner but no vote counts — nineteen in 1977, where unopposed PPP returns were a defining and much-criticised feature of the election, nine in 1985, ten in 1988 and four in 1990. Their share and margin are null rather than zero.
Party labels in these years need care, and two are worth stating. "PML-Q" in 1977 is the Muslim League (Qayyum group), a 1970s faction, and must not be merged with the modern PML-Q founded in 2002. In 1985 there are no parties at all — Zia's non-party election put no affiliation on the ballot, the source pages have no party column, and every seat therefore renders in the neutral independent colour. That is faithful to the source, not a gap in it. In 1988 the source records MQM's urban-Sindh winners as independents rather than under any MQM label, which is why the independent bucket for that year is larger than commonly published figures and MQM is absent from it.
For 1993, 1997 and 2002, Cookman's pakistan_elections provides Commission-derived constituency and candidate tables with electorate and turnout intact, which is why those three are the earliest elections whose turnout figures on this site are computed from our own data rather than quoted. Coverage is not complete: 202 of 207 seats polled in 1993 and 204 of 207 in 1997 are present, the remainder having been postponed and filled later; 270 of 272 in 2002, with NA-262 and NA-263 re-polled in November.
For 2008, 2013 and 2018 the backbone is the same open, Commission-derived election datasets — candidate- and constituency-level CSVs, released under GPL-3.0 and candid about their own transcription errors. We keep only general-election-day rows, which excludes the supplementary polls for postponed seats. The 2018 figures are explicitly provisional: they come from a machine-readable feed ECP published in mid-2018 and later removed, and they predate tribunal revisions.
2024 was different: when this project was built, no neutral, consolidated, machine-readable dataset for the election existed. We built one in two passes. First, every one of the 266 constituency pages was transcribed from ElectionPakistani, which itself transcribes ECP's Form-47 provisional consolidations — giving every candidate, party and vote. Then a second, official layer was read directly from 254 scanned ECP Form-47 forms, adding the figures the scrape lacked: registered voters, turnout, polling stations, and rejected votes. Every extracted row was arithmetic-checked — valid plus rejected equals polled, male plus female equals the totals, winner never exceeds valid votes.
Three caveats on 2024 matter for reading the map. Party labels are as declared on election day: PTI was denied its symbol, so PTI-backed winners contested and are recorded as Independent, and their later move to the Sunni Ittehad Council is not applied. Our directly-elected tally — IND 99, PML-N 78, PPP 54, MQM 17 and a long tail — therefore differs by a handful of seats from commonly cited figures, because the source reflects some recounts and tribunal outcomes. And "declared" is not "current": tribunal rulings and the July 2024 reserved-seat judgment have since changed the composition of the House. Twelve seats (NA-1, 2, 4, 7, 8, 12, 14, 16, 19, 20, 21, 22) have no scanned form and rely on the transcription alone.
03Five delimitations
Each election is drawn on the boundaries that were legally in force when it was held. There are five such maps across the period, and only one of them came from anywhere official.
| Election | Delimitation | Seats | Boundary source |
|---|---|---|---|
| 1977 | 1972 census | 200 | reconstructed here (district-anchored) |
| 1985, 1988, 1990, 1993, 1997 | 1981 census | 207 | traced here from labelled result maps |
| 2002, 2008, 2013 | 2002 | 272 | rugpundit digitisation |
| 2018 | 2018 | 272 | digitised here from ECP sheets |
| 2024 | 2023 | 266 | ECP sheets + published compositions |
The two pre-2002 maps are frequently conflated, including in this project's own earlier working files, and they are not the same thing. 1977 was fought on 200 seats drawn from the 1972 census, with district names that have since gone — Lyallpur for Faisalabad, Campbellpur for Attock. The 207-seat map drawn after the 1981 census served five elections unchanged, 1985 through 1997. Files here are named by seat count rather than by year to keep the two apart.
For 2002, 2008 and 2013 we use the rugpundit/PakistanConstituencies2013 shapefile, the de-facto research standard and itself an unofficial digitisation of ECP raster maps. Two of the 272 seats — NA-95 and NA-96 in urban Gujranwala — are absent from that source; their results stay fully searchable in the app even though the two shapes are not shaded. Thirty-four self-intersecting rings were repaired before use.
For 2018 and 2023, ECP has released nothing and no complete public vector file exists, so the boundaries were reconstructed here. The transparent baseline allocates every seat to its district or districts, gives whole-district seats their exact union — so district edges are accurate — and splits multi-seat districts with a Voronoi diagram seeded to follow ECP's numbering. Under this baseline the internal line between two seats in the same district is only approximate, and every such seat is flagged. Both the 2018 and the 2024 layers the app ships have since been upgraded past this baseline, as below.
04Pre-2002 boundaries — tracing the 207-seat map
The two oldest delimitations were never published in any geospatial form, and unlike 2018 and 2023 there are no ECP sheets to digitise either. What exists instead, for the 207-seat map, is a set of independently drawn result maps on Wikimedia Commons — one each for 1990, 1993 and 1997, by Saad Ali Khan Pakistan, at roughly 3,500 pixels — which draw the constituencies and print each seat's NA number inside its own region. Identity therefore does not have to be inferred from geography; it can be read.
The pipeline segments each map into flat-filled regions, reads the number inside each by OCR, georeferences the map, contour-traces every region and warps it to longitude and latitude. The step that makes the georeference work is a simple observation: the map's party-coloured pixels and the union of the 2002-delimitation constituency file describe the same territory — the National Assembly area, excluding Kashmir and Gilgit-Baltistan — so the two masks can be aligned directly, with no control points at all. An affine fit optimised on intersection-over-union reaches 0.92; a quadratic warp on top reaches 0.94, for a drawn-edge error against the true outline of about 4.7 km at the median and 16 km at the ninetieth percentile. The approach tried first, deriving control points from each labelled region's district centroid, managed only 24 to 39 km and was abandoned. Each map also carries five zoomed city inset boxes — Karachi, Lahore, Faisalabad, Peshawar and Rawalpindi — which sit outside the main projection and are fitted separately, each against the districts its own seats occupy.
The three years' traces are then merged seat by seat, best first, with 1993 preferred over 1997 over 1990. Of 207 seats, 199 are real traces: 162 from the main map, 21 from the city insets, and 16 whose region is genuine but whose NA number was assigned by elimination or by north-to-south ordering within a district rather than read directly. Those 16 are flagged low-confidence and render dashed. The remaining eight fall back to a Voronoi split — NA-13, 50, 110, 120, 165, 166, 168 and 197. A placement rule rejects any candidate polygon sitting more than 40 km from the union of the districts its name implies; that rule caught NA-120, misread and misplaced by roughly 300 km in all three maps.
1977 has no such map, because none was drawn before 1990. Its 200 seats are reconstructed the transparent way: each seat is assigned to the modern district or districts it occupied, read from the constituency names in the returns; seats owning whole districts get the exact district union, so district edges are accurate; multi-seat districts are split by Voronoi, so internal lines are approximate. Because 1970s and 1980s districts were larger than today's, each is expanded to the union of the modern districts it later split into, or its territory would be orphaned — Lyallpur into Faisalabad, Toba Tek Singh and Chiniot; Kohat into Kohat and Karak; Sukkur into Sukkur and Shikarpur, and so on for some fifty carve-outs. Balochistan in 1977 had only seven seats, labelled by division rather than district, and they are drawn as divisions. Tribal-area seats name no agency in the returns at all, so they share the union of the seven agencies and their placement is indicative only.
05True 2018 boundaries
The 114 high-resolution ECP 2018 district map sheets were digitised province by province, each with a technique matched to how that province's sheets are drawn: Quetta's grid-printed sheet georeferenced directly and the rest of Balochistan taken as exact district unions; KP's colour-fill sheets split by hue masks and fitted by iterative closest point with a thin-plate spline; Punjab's red-line sheets processed as barrier masks into interior components and assigned to known centroids; and Sindh's 28 colour-fill sheets covering 61 seats. Where a sheet's colour identifies a seat unambiguously, that colour — not the centroid guess — is authoritative. Outline-fit error runs from a few hundred metres to a few kilometres, with a median near three. The result, a 272-seat file, is what the app's 2018 layer uses.
06True 2023 boundaries — the 2024 map
This is the most involved part of the project. The 266 seats fall into 109 groups over shared districts; 38 are single-seat groups needing no internal line at all, and the other 71 groups — 228 seats — needed one drawn. Three techniques were used, in order of preference. Where an ECP delimitation sheet was reachable, the seat was digitised from it (Punjab contributed 29 such groups, including all fourteen Lahore seats; Sindh contributed 13). Where no sheet was reachable, the seat was rebuilt from its published composition — the official list of tehsils, talukas or union councils it contains — by gridding the group into cells, hard-locking cells in wholly-owned tehsils, and allocating split-tehsil cells to the nearest already-assigned part of each seat under a population or area quota. A few dense city seats with neither a sheet nor a usable composition keep a Voronoi split, and are flagged.
Several seat-level findings are worth recording because they are easy to get wrong. Lower Dir's NA-6 and NA-7 were transposed between 2018 and 2023 — the southern Jandool/Maidan seat was NA-7 in 2018 and is NA-6 in 2023, verified three independent ways — so any analysis joining 2018 NA-6/7 geography to 2024 results is backwards. Kech's NA-258/259 split was resolved from the sheet's explicit exclusion table, overturning an earlier vote-roll guess, and Nasirabad's NA-254/255 split from FAFEN district voter rolls rather than population parity. The full partition was assembled and then verified: 266 of 266 seats present, no gaps, and a symmetric difference against the national outline of 0.0003 percent — the seats tile the country to within a rounding error.
07Confidence, and how the map shows it
Because the 2024 boundaries were built three different ways, every seat carries a confidence grade, and the map is candid about it. District edges are exact throughout; only the internal lines between seats in the same district-group vary.
Low-confidence seats — Peshawar, Islamabad, and a handful of city seats in Faisalabad, Gujranwala, Sheikhupura and Korangi — render with a dashed grey border, and every seat carries a plain-language note about its boundary provenance in the tooltip and the constituency panel.
The same grading runs backwards through the record, on a coarser scale. The 207-seat layer used for 1985 to 1997 carries a provenance flag per seat — main-map trace, inset trace, inferred number, or Voronoi fallback — with the 16 inferred and 8 fallback seats dashed. The 1977 layer is uniformly reconstructed, so every one of its 200 seats is flagged approximate: no seat on the 1977 map should be read as a drawn boundary, only as the right district with a plausible line through it.
08Checking the winners against maps we did not draw
Boundaries can be validated against the outline of the country; results cannot be validated against anything internal. So the winners were checked against a source with no relationship to ours: the same labelled Commons result maps used for the pre-2002 tracing, which print each seat's number and shade it by winning party. Because the number is printed, the join needs no georeferencing — the label is the key. A reader segments each map, OCRs the number in each region, and colour-to-party is inferred from the modal winner in our own data among seats sharing a fill. Nothing in our data is changed by this process. It is a check, not an input.
| Election | Seats read | Agree | Label misreads | Unexplained |
|---|---|---|---|---|
| 1990 | 156 | 148 | 7 | 1 |
| 1993 | 153 | 148 | 5 | 0 |
| 1997 | 155 | 150 | 4 | 1 |
| 2002 | 154 | 148 | 5 | 1 |
| 2008 | 203 | 197 | 5 | 1 |
| 2013 | 202 | 189 | 9 | 4 |
| All | 1,023 | 980 | 35 | 8 |
Raw agreement is 95.8 per cent. Of the 43 disagreements, 35 are explained by a confusable label — the reader seeing NA-134 where the map prints NA-34 — leaving eight unexplained, 0.78 per cent of the seats checked. Coverage is limited by OCR recall rather than by the maps: labels were read for roughly three quarters of seats, and the unread ones are simply not checked. The eight residuals cluster in Peshawar and Mardan, with NA-19 Bannu recurring in both 1990 and 1997; that clustering in one dense urban area, rather than scattering at random, points to crowded labels being attached to the wrong polygon rather than to an error in the results. They would still be worth an eyeball before anyone leans on them.
One useful by-product: the 1990 map carries swatches but no legend text, so its colour key had to be established rather than read. Scaling the fills across the readable seats gave roughly IJI 112, PDA 43, independents 24, MQM 13 and ANP 7, against a published IJI of 106–111 and PDA of 44 — close enough to fix the key, which the seat-by-seat comparison then confirmed.
09The application
The site is a set of static, self-contained HTML files: the map inlines D3 and all of its data, so it runs offline and behind firewalls with no server and no build step. It offers a year switcher, a party-colour choropleth with a click-to-isolate legend, a constituency panel with the full candidate list and turnout, a sortable table view as an accessibility fallback, and a light and dark theme. Party colours follow Pakistani media convention, tuned so the normal-vision contrast passes an accessibility check; where two party colours could confuse a colour-blind reader, the seats are geographically far apart and the table view is always available as the fallback.
10The eleven elections
A seat map flattens an election into a colour. It cannot show that one was a non-party poll held under martial law, another fought under a boycott, another under a bombing campaign aimed at three particular parties, and another with the largest party stripped of its ballot symbol. This section records those circumstances for each election, so that the map is read with them rather than without them.
The standard here is the same one the boundary work uses: we report what named observers concluded, quote them, and link the source. Aiwan-e-Jamhoor offers no verdict of its own on whether an election was free or fair, and publishes no aggregate "fairness score" — the judgements below belong to the bodies that made them, they do not always agree, and where they disagree that disagreement is itself the finding. Seats-polled, candidate and margin figures are computed from this project's own results data. Turnout is our registered-voter-weighted figure from 1993 onward, which tracks the official numbers closely; for 1977 to 1990 no per-seat electorate exists in any available source, so the published national figure is quoted instead and marked with a dagger.
| Election | Date | Seats polled | Turnout | Candidates | Won by <5% |
|---|---|---|---|---|---|
| 1977 | 7 Mar 1977 | 200 of 200 | 63%† | 649 | 15 |
| 1985 | 28 Feb 1985 | 207 of 207 | 53%† | 1,065 | 47 |
| 1988 | 16 Nov 1988 | 207 of 207 | 43%† | 1,186 | 55 |
| 1990 | 24 Oct 1990 | 207 of 207 | 45%† | 1,226 | 37 |
| 1993 | 6 Oct 1993 | 202 of 207 | 41% | 1,405 | 55 |
| 1997 | 3 Feb 1997 | 204 of 207 | 36% | 1,747 | 19 |
| 2002 | 10 Oct 2002 | 270 of 272 | 42% | 2,049 | 59 |
| 2008 | 18 Feb 2008 | 268 of 272 | 44% | 2,180 | 62 |
| 2013 | 11 May 2013 | 269 of 272 | 55% | 4,496 | 52 |
| 2018 | 25 Jul 2018 | 270 of 272 | 52% | 3,431 | 79 |
| 2024 | 8 Feb 2024 | 265 of 266 | 48% | 5,112 | 68 |
† Published national turnout. No per-seat electorate is recorded in any available source for these four elections, so the figure is quoted rather than computed. Margins for 1977–1990 are calculated only over the seats where the source gives vote counts.
1977 — a result overtaken by a coup
Zulfikar Ali Bhutto's PPP took 156 of 200 seats. The opposition Pakistan National Alliance alleged systematic rigging, mass protests followed, and on 5 July General Zia-ul-Haq seized power and imposed martial law; Bhutto was tried and hanged two years later. Nineteen seats, Bhutto's own Larkana among them, were returned unopposed — a fact the PNA made central to its case. Treat what is mapped here as the transcribed official result, widely regarded as manipulated, rather than as a record of voter intent. The boundaries are reconstructed, and this is the only election fought on the 200-seat map.
1985 — an election without parties
Held by Zia after a 1984 referendum extended his rule, and fought entirely on a non-party basis: no affiliation appeared on the ballot, and the Movement for the Restoration of Democracy boycotted. The Assembly that resulted was formally one of independents, and Muhammad Khan Junejo was appointed prime minister from it. Every seat therefore renders in the neutral independent colour — there is no party data to show, and none is invented. The 1985 layer also uses its source's own seat numbering, which differs from 1988 onward, so no comparison against the next election is offered.
1988 — the first party-based election after Zia
Zia died in an August 1988 air crash and the poll went ahead in November. Benazir Bhutto's PPP won the most seats and she became prime minister, the first woman to head a modern Muslim-majority state. The anti-PPP Islami Jamhoori Ittehad was formed with covert ISI backing, as the Supreme Court found much later in the Asghar Khan case. Two data caveats: the source records MQM's urban-Sindh winners as independents rather than under an MQM label, and ten seats give a winner without vote counts.
1990 — the election the Supreme Court called corrupt
President Ghulam Ishaq Khan dismissed Bhutto's government in August under Article 58(2)(b) and installed an opposition leader as caretaker prime minister. The PPP contested inside the People's Democratic Alliance against the IJI and rejected the result. Twenty-two years later, deciding the Asghar Khan case, the Supreme Court of Pakistan held that “the general election held in the year 1990 was subjected to corruption and corrupt practices,” finding that an election cell in the Presidency had channelled intelligence funds to “provide financial assistance to the favoured candidates.” That judgement is the strongest finding against any election in this dataset, and it came from a domestic court rather than an observer mission. Four seats were returned unopposed.
1993 — a caretaker interregnum
Ghulam Ishaq Khan dismissed Nawaz Sharif in April 1993; the Supreme Court reinstated him; in July the army brokered the resignation of both. Moeen Qureshi, a former World Bank official with no domestic base, led the caretaker government, published lists of loan defaulters and tax delinquents and required candidates to declare their own. Around 150,000 troops were deployed and judicial officers replaced civil servants as presiding officers. The MQM boycotted the National Assembly poll while contesting the provincial ones, and turnout in Karachi fell to roughly 15 per cent. No party won a majority; Benazir Bhutto formed a coalition on 19 October. A Commonwealth group and an NDI delegation both observed.
1997 — the lowest turnout on record
President Farooq Leghari dismissed Bhutto's government in November 1996, citing corruption, extrajudicial killings and interference with the judiciary; the Supreme Court upheld the dissolution. Turnout, at about 36 per cent, was the lowest in any Pakistani general election to that point and remains so. PML-N won 135 of the seats polled on the day, close to a two-thirds majority, and Bhutto alleged that officials had inserted extra ballots. Polling in parts of Karachi was disrupted by violence; an International Progress Organization team reporting to the UN Commission on Human Rights found that “a condition of lawlessness persisted during the whole electoral campaign and on the election day itself.” A Commonwealth observer group attended, but its report is not available online.
2002 — an election under a rewritten constitution
Parliament had been dissolved after the coup of 12 October 1999. The Supreme Court validated the takeover but required elections within three years. Pervez Musharraf took a five-year presidential term by referendum in April 2002, then issued the Legal Framework Order in August, amending the constitution before the poll. Candidates were required to hold a bachelor's degree — with madrasa certificates treated as equivalent — and anyone who had twice been prime minister was barred, so neither Bhutto nor Sharif contested. Separate electorates for religious minorities were abolished and the voting age lowered from 21 to 18. The EU Election Observation Mission concluded that the process had “resulted in serious flaws being inflicted on the electoral process,” while finding that “polling day itself had gone relatively smoothly”; the National Democratic Institute, before the vote, judged the framework to provide “a very limited transfer of power to elected civilian representatives.” Polling in NA-262 and NA-263 was re-run in November.
2008 — the postponed election
Polling was moved from 8 January to 18 February after Benazir Bhutto was assassinated on 27 December 2007. Four constituencies did not poll on the day, among them the seat she would have contested; polling in Kurram was also postponed after a bombing outside a candidate's office two days before the vote. The election was administered by a Commission appointed under Pervez Musharraf, with the judges dismissed in the November 2007 emergency still not restored, and it was boycotted by PTI, Jamaat-e-Islami and the rest of the All Parties Democratic Movement. Pakistan was suspended from the Commonwealth at the time, so no Commonwealth group observed.
The EU Election Observation Mission concluded in its April 2008 final report that “a level playing field was not provided during the campaign,” citing abuse of state resources and bias in the state media, while assessing voting and counting more favourably. The US mission fielded by Democracy International found that “the elections provided a genuine opportunity for Pakistani voters to express their will,” alongside “significant procedural irregularities.” Turnout is usually given as about 44 per cent; the Election Commission does not appear to have published a single official national figure.
2013 — the first civilian handover
For the first time, an elected civilian government in Pakistan completed its term and handed power to another. Turnout, at about 55 per cent, was the highest since 1977. But the campaign was not equally free for everyone contesting it: the Pakistani Taliban attacked the three parties of the outgoing coalition — ANP, MQM and PPP — while their opponents campaigned openly, a distinction observers treated as central rather than incidental.
The EU Election Observation Mission found that “the high number of attacks affected campaigning and unbalanced the playing field,” and separately recorded roughly eleven million fewer registered women than men. The Commonwealth Observer Group called the elections “notable progress for Pakistan towards holding fully democratic elections.” PTI alleged rigging in four constituencies; a commission of three Supreme Court judges reported in July 2015 that the election had been “in large part organised and conducted fairly and in accordance with the law,” while holding that PTI had not been unjustified in asking. Around 500 polling stations recorded no women voting at all, and re-polling was ordered in several places on that ground.
2018 — two verdicts on one election
Nawaz Sharif was disqualified from public office for life in April 2018 and jailed twelve days before the poll. Around 370,000 troops were deployed, many stationed inside polling stations and granted magisterial powers. On election night the Commission's new Result Transmission System stopped working shortly before midnight, the statutory 2 a.m. deadline for provisional results was missed, and final results were not consolidated until 7 August.
What makes 2018 instructive is that the observers reached two different verdicts about the same election, and both belong in the record. On the campaign, the EU Election Observation Mission was blunt: “There was no level playing field for electoral contestants.” On the day itself the same mission found that “voting was assessed as well-conducted and transparent,” while faulting the count, which it judged positively in only two-thirds of observations, concluding that tabulation “lacked transparency.” Its chief observer nonetheless called the results credible. Before the vote, the Human Rights Commission of Pakistan had warned of “blatant, aggressive and unabashed attempts to manipulate the outcome.” The domestic network FAFEN, with nearly 20,000 observers, reported that election day was “better managed, relatively peaceful and free of any major controversy.” One caveat on coverage: EU observers did not deploy in Balochistan for security reasons, which is where the worst poll-day violence occurred.
2024 — an election without a symbol
On 13 January 2024 the Supreme Court restored the Election Commission's ruling that PTI's intra-party elections were invalid, and the party lost its cricket-bat symbol for the election. Its candidates contested as independents, each assigned a different symbol from the free pool — which is how the returns record them, and why the independent column on the 2024 map is what it is. Losing party status also cost PTI its claim on reserved seats, the question that went back to the Supreme Court in July 2024 and was reversed again on review in June 2025. Polling in NA-8 Bajaur was called off after a candidate was shot dead while canvassing.
Mobile networks were shut down nationwide on polling day, which the interior ministry justified on security grounds and which disabled the Commission's own results-management system; 16 people were killed in poll-day violence regardless. Results ran roughly fifteen hours past the legal deadline. The central dispute afterwards concerned the gap between the polling-station count (Form 45) and the consolidated constituency result (Form 47) — allegations that remain unadjudicated, with no tribunal or court having confirmed systematic rigging, and which this project's own comparison of 254 official Form 47s against a transcription of the published results can speak to only partially: identical winners in 249 of 254 seats, five later reversed.
The EU did not send a full observation mission in 2024, only a small expert mission whose report has never been published; access to it was refused in 2025 on international-relations grounds. The EU's High Representative said on 9 February that “we regret the lack of a level playing field.” The Commonwealth Observer Group, in a final report not published until September 2025, found that institutional decisions “impinged on the credibility, transparency and inclusiveness of the electoral process.” The Human Rights Commission of Pakistan concluded that “the integrity of the 2024 elections was compromised,” and called for an independent audit.
11Limitations, in one place
No boundary file here is an ECP product: district edges are reliable, but internal lines between same-district seats range from digitised-from-sheet to traced-from-a-drawn-map to inferred, and none of these polygons should be used for sub-district spatial joins. Accuracy degrades as you go back — the 2023 and 2018 layers are digitised from sheets, the 1985–1997 layer is traced from maps drawn by someone else at roughly 4.7 km median edge error, and the 1977 layer is a district-anchored reconstruction with no drawn source at all.
The results degrade backwards too. For 1977, 1985, 1988 and 1990 the only source is an unofficial transcription, no per-seat electorate or turnout exists, and a residue of seats carries a winner with no votes; 1985 has no party labels at all, and uses a seat numbering that does not match the years around it. The 1977 and 1990 results were contested as rigged at the time, and in 1990's case a Supreme Court judgement agrees. The 2024 results are provisional, Form-47-derived and cross-checked but pre-final-gazette, with five seats later reversed and flagged. What the map shows throughout is the election-day picture, not the current membership of the House after tribunal rulings and the reserved-seat judgment; party is as-declared, so PTI-backed 2024 independents appear as Independent. And a seat number means a different piece of ground in each of the five delimitations — the app says so wherever it invites the comparison.
12Sources
Results for 1993–2018 come from Colin Cookman's pakistan_elections and pakistan_election_results_2018 (GPL-3.0). Results for 1977, 1985, 1988 and 1990 were scraped seat by seat from ElectionPakistani, an unofficial transcription of Commission returns, and parsed by re-runnable offline scripts published with this project. Results for 2024 are an ElectionPakistani transcription of ECP Form-47, cross-checked against 254 official scanned forms.
The 2002 boundaries are from rugpundit/PakistanConstituencies2013 (GPL-3.0). The 2018 and 2023 boundaries were digitised in this project from ECP delimitation map sheets and published seat compositions. The 207-seat 1985–1997 boundaries were traced from labelled result maps by Saad Ali Khan Pakistan on Wikimedia Commons, licensed CC BY-SA 4.0, which are also the independent check on winners for 1990–2013; the 1977 boundaries are reconstructed here with no drawn source. All of it sits on geoBoundaries, OCHA COD and CartoDB district base layers. The full methodology, the code that produces every file, and a wider survey of candidate sources are published in the project's open repository.
Aiwan-e-Jamhoor is an independent civic-data project. It is not affiliated with the Election Commission of Pakistan.