← back to the timeline

Every election,1955 to today

Sixteen federal elections. Each bar is the Parliament that election produced, drawn to the same scale — so the chamber growing from 52 seats to 222 is something you can see rather than something we tell you. The notch is the majority line for that year.

All 16 carry a written, sourced account — every claim labelled for certainty, awaiting editorial review.

Photo: Wee Hong · CC BY-SA 4.0 · Wikimedia Commons

222 seats, 4 elections

The same map,changing its mind

Every dot is a parliamentary seat — P.001 to P.222, the Election Commission's code for each of the 222 federal constituencies. Scroll to watch four elections recolour the country.

Why four and not sixteen. Results published seat by seat, keyed to constituency codes, exist from 2008 onward — and the 222-seat map itself only dates from the delineation before GE11. Earlier elections were fought on a smaller, differently drawn chamber, so there is no honest way to colour these dots for them. The bars below cover all sixteen; the dots cover the four the data can carry.

One further caveat: these are the same seat numbers each time, not quite the same boundaries. Peninsular Malaysia's constituencies were redrawn in an exercise gazetted in March 2018, about six weeks before GE14, and Sabah's were redrawn in 2017 — so GE12 and GE13 were fought on older maps than GE14 and GE15. How boundaries get redrawn.

222 seats · four elections

P.001 Padang Besar, PerlisP.002 Kangar, PerlisP.003 Arau, PerlisP.004 Langkawi, KedahP.005 Jerlun, KedahP.006 Kubang Pasu, KedahP.007 Padang Terap, KedahP.008 Pokok Sena, KedahP.009 Alor Setar, KedahP.010 Kuala Kedah, KedahP.011 Pendang, KedahP.012 Jerai, KedahP.013 Sik, KedahP.014 Merbok, KedahP.015 Sungai Petani, KedahP.016 Baling, KedahP.017 Padang Serai, KedahP.018 Kulim-Bandar Baharu, KedahP.019 Tumpat, KelantanP.020 Pengkalan Chepa, KelantanP.021 Kota Bharu, KelantanP.022 Pasir Mas, KelantanP.023 Rantau Panjang, KelantanP.024 Kubang Kerian, KelantanP.025 Bachok, KelantanP.026 Ketereh, KelantanP.027 Tanah Merah, KelantanP.028 Pasir Puteh, KelantanP.029 Machang, KelantanP.030 Jeli, KelantanP.031 Kuala Krai, KelantanP.032 Gua Musang, KelantanP.033 Besut, TerengganuP.034 Setiu, TerengganuP.035 Kuala Nerus, TerengganuP.036 Kuala Terengganu, TerengganuP.037 Marang, TerengganuP.038 Hulu Terengganu, TerengganuP.039 Dungun, TerengganuP.040 Kemaman, TerengganuP.041 Kepala Batas, Pulau PinangP.042 Tasek Gelugor, Pulau PinangP.043 Bagan, Pulau PinangP.044 Permatang Pauh, Pulau PinangP.045 Bukit Mertajam, Pulau PinangP.046 Batu Kawan, Pulau PinangP.047 Nibong Tebal, Pulau PinangP.048 Bukit Bendera, Pulau PinangP.049 Tanjong, Pulau PinangP.050 Jelutong, Pulau PinangP.051 Bukit Gelugor, Pulau PinangP.052 Bayan Baru, Pulau PinangP.053 Balik Pulau, Pulau PinangP.054 Gerik, PerakP.055 Lenggong, PerakP.056 Larut, PerakP.057 Parit Buntar, PerakP.058 Bagan Serai, PerakP.059 Bukit Gantang, PerakP.060 Taiping, PerakP.061 Padang Rengas, PerakP.062 Sungai Siput, PerakP.063 Tambun, PerakP.064 Ipoh Timor, PerakP.065 Ipoh Barat, PerakP.066 Batu Gajah, PerakP.067 Kuala Kangsar, PerakP.068 Beruas, PerakP.069 Parit, PerakP.070 Kampar, PerakP.071 Gopeng, PerakP.072 Tapah, PerakP.073 Pasir Salak, PerakP.074 Lumut, PerakP.075 Bagan Datuk, PerakP.076 Teluk Intan, PerakP.077 Tanjong Malim, PerakP.078 Cameron Highlands, PahangP.079 Lipis, PahangP.080 Raub, PahangP.081 Jerantut, PahangP.082 Indera Mahkota, PahangP.083 Kuantan, PahangP.084 Paya Besar, PahangP.085 Pekan, PahangP.086 Maran, PahangP.087 Kuala Krau, PahangP.088 Temerloh, PahangP.089 Bentong, PahangP.090 Bera, PahangP.091 Rompin, PahangP.092 Sabak Bernam, SelangorP.093 Sungai Besar, SelangorP.094 Hulu Selangor, SelangorP.095 Tanjong Karang, SelangorP.096 Kuala Selangor, SelangorP.097 Selayang, SelangorP.098 Gombak, SelangorP.099 Ampang, SelangorP.100 Pandan, SelangorP.101 Hulu Langat, SelangorP.102 Bangi, SelangorP.103 Puchong, SelangorP.104 Subang, SelangorP.105 Petaling Jaya, SelangorP.106 Damansara, SelangorP.107 Sungai Buloh, SelangorP.108 Shah Alam, SelangorP.109 Kapar, SelangorP.110 Klang, SelangorP.111 Kota Raja, SelangorP.112 Kuala Langat, SelangorP.113 Sepang, SelangorP.114 Kepong, W.P. Kuala LumpurP.115 Batu, W.P. Kuala LumpurP.116 Wangsa Maju, W.P. Kuala LumpurP.117 Segambut, W.P. Kuala LumpurP.118 Setiawangsa, W.P. Kuala LumpurP.119 Titiwangsa, W.P. Kuala LumpurP.120 Bukit Bintang, W.P. Kuala LumpurP.121 Lembah Pantai, W.P. Kuala LumpurP.122 Seputeh, W.P. Kuala LumpurP.123 Cheras, W.P. Kuala LumpurP.124 Bandar Tun Razak, W.P. Kuala LumpurP.125 Putrajaya, W.P. PutrajayaP.126 Jelebu, Negeri SembilanP.127 Jempol, Negeri SembilanP.128 Seremban, Negeri SembilanP.129 Kuala Pilah, Negeri SembilanP.130 Rasah, Negeri SembilanP.131 Rembau, Negeri SembilanP.132 Port Dickson, Negeri SembilanP.133 Tampin, Negeri SembilanP.134 Masjid Tanah, MelakaP.135 Alor Gajah, MelakaP.136 Tangga Batu, MelakaP.137 Hang Tuah Jaya, MelakaP.138 Kota Melaka, MelakaP.139 Jasin, MelakaP.140 Segamat, JohorP.141 Sekijang, JohorP.142 Labis, JohorP.143 Pagoh, JohorP.144 Ledang, JohorP.145 Bakri, JohorP.146 Muar, JohorP.147 Parit Sulong, JohorP.148 Ayer Hitam, JohorP.149 Sri Gading, JohorP.150 Batu Pahat, JohorP.151 Simpang Renggam, JohorP.152 Kluang, JohorP.153 Sembrong, JohorP.154 Mersing, JohorP.155 Tenggara, JohorP.156 Kota Tinggi, JohorP.157 Pengerang, JohorP.158 Tebrau, JohorP.159 Pasir Gudang, JohorP.160 Johor Bahru, JohorP.161 Pulai, JohorP.162 Iskandar Puteri, JohorP.163 Kulai, JohorP.164 Pontian, JohorP.165 Tanjung Piai, JohorP.166 Labuan, W.P. LabuanP.167 Kudat, SabahP.168 Kota Marudu, SabahP.169 Kota Belud, SabahP.170 Tuaran, SabahP.171 Sepanggar, SabahP.172 Kota Kinabalu, SabahP.173 Putatan, SabahP.174 Penampang, SabahP.175 Papar, SabahP.176 Kimanis, SabahP.177 Beaufort, SabahP.178 Sipitang, SabahP.179 Ranau, SabahP.180 Keningau, SabahP.181 Tenom, SabahP.182 Pensiangan, SabahP.183 Beluran, SabahP.184 Libaran, SabahP.185 Batu Sapi, SabahP.186 Sandakan, SabahP.187 Kinabatangan, SabahP.188 Lahad Datu, SabahP.189 Semporna, SabahP.190 Tawau, SabahP.191 Kalabakan, SabahP.192 Mas Gading, SarawakP.193 Santubong, SarawakP.194 Petra Jaya, SarawakP.195 Bandar Kuching, SarawakP.196 Stampin, SarawakP.197 Kota Samarahan, SarawakP.198 Puncak Borneo, SarawakP.199 Serian, SarawakP.200 Batang Sadong, SarawakP.201 Batang Lupar, SarawakP.202 Sri Aman, SarawakP.203 Lubok Antu, SarawakP.204 Betong, SarawakP.205 Saratok, SarawakP.206 Tanjong Manis, SarawakP.207 Igan, SarawakP.208 Sarikei, SarawakP.209 Julau, SarawakP.210 Kanowit, SarawakP.211 Lanang, SarawakP.212 Sibu, SarawakP.213 Mukah, SarawakP.214 Selangau, SarawakP.215 Kapit, SarawakP.216 Hulu Rajang, SarawakP.217 Bintulu, SarawakP.218 Sibuti, SarawakP.219 Miri, SarawakP.220 Baram, SarawakP.221 Limbang, SarawakP.222 Lawas, Sarawak
GE

2008

GE12 (2008)

The 'political tsunami': BN lost two-thirds majority and five states; birth of Pakatan Rakyat.

The full account of this election →

GE

2013

GE13 (2013)

BN won seats but lost the popular vote to Pakatan Rakyat.

The full account of this election →

GE

2018

GE14 (2018)

Malaysia's first federal change of government; Pakatan Harapan defeated BN.

The full account of this election →

GE

2022

GE15 (2022)

First hung parliament; resolved by the unity government under Anwar Ibrahim.

The full account of this election →

All sixteen

Every chamber,1955 to today

The dots above only reach back to 2008. The bars do not have that limit: each one is the Parliament an election produced, drawn to the same scale, so the chamber growing from 52 seats to 222 is something you can see. The notch is the majority line for that year. Click any row for the sourced account of that election.

1955195552First nationwide federal election before Merdeka; Alliance won 51 of 52 seats.1959GE1104First post-independence general election; Alliance government under Tunku Abdul Rahman.1964GE2144Held during Konfrontasi with Indonesia; Alliance strengthened.1969GE3144The completed 144-seat result table records Perikatan with 90 seats—below the 96 needed for a two-thirds majority; the election was followed by the 13 May violence and an emergency suspension of parliamentary rule.handled with care1974GE4154First election contested by the new Barisan Nasional under Abdul Razak.1978GE5154Hussein Onn led Barisan Nasional (BN) at the first general election held after he succeeded Abdul Razak as Prime Minister in 1976.1982GE6154Mahathir's first general election as PM; BN won a large parliamentary majority.1986GE7177Held amid economic downturn; prelude to the UMNO Team A/Team B split.1990GE8180First serious two-front challenge: Semangat 46 with Gagasan Rakyat and APU.1995GE9192Polling was held on 24 and 25 April 1995. BN won 162 of 192 seats and 65.15 per cent of the popular vote, its highest vote share of any general election held while Mahathir Mohamad was Prime Minister.1999GE10193Post-Reformasi election in which Barisan Alternatif contested and PAS increased its parliamentary representation.2004GE11219Abdullah Badawi's high-water mark; BN's largest-ever share of seats.2008GE12222The 'political tsunami': BN lost two-thirds majority and five states; birth of Pakatan Rakyat.2013GE13222BN won seats but lost the popular vote to Pakatan Rakyat.2018GE14222Malaysia's first federal change of government; Pakatan Harapan defeated BN.2022GE15222First hung parliament; resolved by the unity government under Anwar Ibrahim.
Alliance/BNPR/PHPAS-ledOtherGPSGRSthe notch on each bar is that year's majority line

Blocs group parties by lineage, so a bar can be compared with the one above it. Pre-2008 figures come from a hand-verified historical table; 2008 onward are verified seat-for-seat against official results.