PropTools.my
Search projects, areas or transactionsCtrl K
Data sourcesSign in
Live analysis

What income do you actually need, district by district?

Buying the median home in Putrajaya needs about RM 6,378 a month before tax. In Rompin the same median needs RM 1,341 — a gap of 5×. Every figure is derived from registered sold prices, and recomputes when the data does.

Ask AI about affordability
Districts ranked104
Highest barRM6kPutrajaya
Lowest barRM1kRompin
National median homeRM400k

The assumptions, stated

The instalment is arithmetic: a 10% deposit, 4.2% over 30 years. The income figure is the contestable part, because it depends on a debt-service ratio the bank chooses. This table uses 60% of net income and assumes no other commitments — a car loan, a card balance or a PTPTN repayment raises the bar, often sharply. Gross is estimated at net ÷ 0.82, covering EPF and tax.

A median is not a listing. Half the homes registered in a district sold below these prices and half above, and the mix of property types differs between districts. Treat a row as the shape of a district, then check the actual transactions for what you would buy.

Income needed, by district

Ranked by the gross monthly income the median home demands. Districts with fewer than 200 registered sales are excluded, because a median over a handful of sales describes those sales rather than the district.

DistrictMedian priceMonthly instalmentGross income neededCash upfront
PutrajayaPutrajaya · 861 salesRM713kRM 3,138RM 6,378RM96k
Kuala LumpurKuala Lumpur · 40,797 salesRM650kRM 2,861RM 5,815RM88k
PetalingSelangor · 46,335 salesRM600kRM 2,641RM 5,367RM81k
Kota KinabaluSabah · 2,626 salesRM560kRM 2,465RM 5,010RM76k
SepangSelangor · 9,581 salesRM551kRM 2,425RM 4,929RM74k
Johor BahruJohor · 60,686 salesRM530kRM 2,333RM 4,741RM72k
Bahagian BintuluSarawak · 1,047 salesRM500kRM 2,201RM 4,473RM68k
Barat DayaPenang · 5,462 salesRM499kRM 2,196RM 4,463RM67k
KlangSelangor · 22,367 salesRM490kRM 2,157RM 4,383RM66k
PontianJohor · 1,651 salesRM489kRM 2,152RM 4,374RM66k
Hulu LangatSelangor · 27,059 salesRM470kRM 2,069RM 4,205RM63k
Kuala SelangorSelangor · 5,707 salesRM470kRM 2,069RM 4,205RM63k
MuarJohor · 3,191 salesRM470kRM 2,069RM 4,205RM63k
GombakSelangor · 14,457 salesRM465kRM 2,047RM 4,160RM63k
KulaiJohor · 7,456 salesRM460kRM 2,025RM 4,115RM62k
Seberang Perai SelatanPenang · 5,924 salesRM450kRM 1,981RM 4,026RM61k
LabuanLabuan · 441 salesRM450kRM 1,981RM 4,026RM61k
Kuala LangatSelangor · 6,545 salesRM448kRM 1,972RM 4,007RM60k
Bahagian SibuSarawak · 1,669 salesRM435kRM 1,915RM 3,891RM59k
Bahagian KuchingSarawak · 5,477 salesRM410kRM 1,804RM 3,667RM55k
Bahagian MiriSarawak · 3,431 salesRM410kRM 1,804RM 3,667RM55k
Cameron HighlandPahang · 534 salesRM408kRM 1,793RM 3,645RM55k
TangkakJohor · 1,900 salesRM402kRM 1,769RM 3,596RM54k
SerembanNegeri Sembilan · 19,962 salesRM400kRM 1,760RM 3,578RM54k
Seberang Perai TengahPenang · 8,474 salesRM400kRM 1,760RM 3,578RM54k
Batu PahatJohor · 5,435 salesRM400kRM 1,760RM 3,578RM54k
Lahad DatuSabah · 466 salesRM400kRM 1,760RM 3,578RM54k
Timur LautPenang · 12,568 salesRM398kRM 1,752RM 3,560RM54k
PenampangSabah · 1,315 salesRM398kRM 1,752RM 3,560RM54k
TawauSabah · 1,055 salesRM385kRM 1,694RM 3,444RM52k
Bahagian SarikeiSarawak · 277 salesRM380kRM 1,672RM 3,399RM51k
SandakanSabah · 1,706 salesRM371kRM 1,633RM 3,318RM50k
Kuala NerusTerengganu · 1,455 salesRM370kRM 1,628RM 3,310RM50k
Bahagian SamarahanSarawak · 1,311 salesRM369kRM 1,624RM 3,301RM50k
Sabak BernamSelangor · 829 salesRM365kRM 1,606RM 3,265RM49k
Bandar BaruKedah · 230 salesRM363kRM 1,598RM 3,248RM49k
RaubPahang · 940 salesRM362kRM 1,591RM 3,234RM49k
Kota TinggiJohor · 3,015 salesRM360kRM 1,584RM 3,221RM49k
TumpatKelantan · 545 salesRM360kRM 1,584RM 3,221RM49k
LangkawiKedah · 474 salesRM360kRM 1,584RM 3,221RM49k
Seberang Perai UtaraPenang · 6,376 salesRM358kRM 1,576RM 3,202RM48k
Kuala TerengganuTerengganu · 1,873 salesRM350kRM 1,540RM 3,130RM47k
KeningauSabah · 328 salesRM350kRM 1,540RM 3,130RM47k
BentongPahang · 1,262 salesRM345kRM 1,518RM 3,087RM47k
Kota SetarKedah · 4,506 salesRM341kRM 1,501RM 3,050RM46k
Kota BahruKelantan · 2,687 salesRM340kRM 1,496RM 3,041RM46k
DungunTerengganu · 1,548 salesRM340kRM 1,496RM 3,041RM46k
MarangTerengganu · 1,385 salesRM335kRM 1,474RM 2,996RM45k
PutatanSabah · 286 salesRM335kRM 1,474RM 2,996RM45k
Melaka TengahMelaka · 12,655 salesRM330kRM 1,452RM 2,952RM45k
BachokKelantan · 633 salesRM330kRM 1,452RM 2,952RM45k
TuaranSabah · 362 salesRM328kRM 1,444RM 2,934RM44k
KerianPerak · 1,562 salesRM320kRM 1,408RM 2,862RM43k
Pokok SenaKedah · 339 salesRM320kRM 1,408RM 2,862RM43k
MuallimPerak · 1,119 salesRM316kRM 1,391RM 2,827RM43k
YanKedah · 201 salesRM315kRM 1,386RM 2,818RM43k
KulimKedah · 6,164 salesRM314kRM 1,380RM 2,805RM42k
KintaPerak · 21,560 salesRM310kRM 1,364RM 2,773RM42k
KluangJohor · 6,177 salesRM310kRM 1,364RM 2,773RM42k
BesutTerengganu · 910 salesRM310kRM 1,364RM 2,773RM42k
Bahagian LimbangSarawak · 217 salesRM305kRM 1,342RM 2,728RM41k
MachangKelantan · 590 salesRM304kRM 1,338RM 2,720RM41k
Bahagian SerianSarawak · 218 salesRM304kRM 1,338RM 2,720RM41k
PaparSabah · 494 salesRM300kRM 1,320RM 2,684RM41k
Bagan DatukPerak · 393 salesRM299kRM 1,316RM 2,674RM40k
KuantanPahang · 11,319 salesRM298kRM 1,312RM 2,666RM40k
Tanah MerahKelantan · 555 salesRM295kRM 1,298RM 2,639RM40k
Hulu TerengganuTerengganu · 373 salesRM293kRM 1,290RM 2,621RM40k
Larut MatangPerak · 3,782 salesRM288kRM 1,268RM 2,577RM39k
SegamatJohor · 2,388 salesRM288kRM 1,268RM 2,577RM39k
Pasir MasKelantan · 824 salesRM288kRM 1,265RM 2,572RM39k
Kubang PasuKedah · 2,083 salesRM285kRM 1,254RM 2,550RM38k
MersingJohor · 375 salesRM285kRM 1,254RM 2,550RM38k
PerlisPerlis · 2,295 salesRM280kRM 1,232RM 2,505RM38k
PendangKedah · 319 salesRM280kRM 1,232RM 2,505RM38k
TemerlohPahang · 1,991 salesRM270kRM 1,188RM 2,416RM36k
JerantutPahang · 754 salesRM270kRM 1,188RM 2,416RM36k
ManjungPerak · 7,123 salesRM268kRM 1,180RM 2,398RM36k
KemamanTerengganu · 2,655 salesRM268kRM 1,180RM 2,398RM36k
Kuala KraiKelantan · 372 salesRM268kRM 1,180RM 2,398RM36k
Alor GajahMelaka · 4,688 salesRM267kRM 1,175RM 2,389RM36k
JasinMelaka · 4,608 salesRM266kRM 1,171RM 2,379RM36k
KamparPerak · 2,116 salesRM265kRM 1,166RM 2,371RM36k
Port DicksonNegeri Sembilan · 4,690 salesRM264kRM 1,162RM 2,362RM36k
Gua MusangKelantan · 439 salesRM263kRM 1,158RM 2,352RM36k
Kuala MudaKedah · 11,665 salesRM260kRM 1,144RM 2,326RM35k
Hulu SelangorSelangor · 6,529 salesRM260kRM 1,144RM 2,326RM35k
Kuala KangsarPerak · 1,593 salesRM260kRM 1,144RM 2,326RM35k
RembauNegeri Sembilan · 647 salesRM260kRM 1,144RM 2,326RM35k
PekanPahang · 642 salesRM260kRM 1,144RM 2,326RM35k
Pasir PutehKelantan · 469 salesRM260kRM 1,144RM 2,326RM35k
JempolNegeri Sembilan · 1,133 salesRM258kRM 1,136RM 2,309RM35k
BalingKedah · 693 salesRM256kRM 1,127RM 2,290RM35k
BeraPahang · 681 salesRM255kRM 1,122RM 2,280RM34k
Kuala PilahNegeri Sembilan · 851 salesRM252kRM 1,109RM 2,254RM34k
LipisPahang · 605 salesRM252kRM 1,109RM 2,254RM34k
TampinNegeri Sembilan · 940 salesRM250kRM 1,100RM 2,237RM34k
MaranPahang · 479 salesRM250kRM 1,100RM 2,237RM34k
Hulu PerakPerak · 547 salesRM248kRM 1,091RM 2,218RM33k
Hilir PerakPerak · 2,825 salesRM247kRM 1,087RM 2,210RM33k
JelebuNegeri Sembilan · 213 salesRM243kRM 1,069RM 2,173RM33k
Batang PadangPerak · 2,397 salesRM237kRM 1,043RM 2,120RM32k
Perak TengahPerak · 1,458 salesRM232kRM 1,021RM 2,076RM31k
RompinPahang · 1,050 salesRM150kRM 660RM 1,341RM22k

What this does not say

  • It is not a bank decision. Lenders assess income, existing debt and employment differently, and two banks will not agree on the same file.
  • The rate is today's assumption, not a forecast. A one-point move changes the instalment by roughly 12% over a 30-year tenure.
  • Upfront cash excludes renovation, furnishing and the moving costs that follow. It covers the deposit plus the usual legal, duty and stamping charges.
  • First-home relief can remove much of the duty below RM500,000, which the fees calculator handles properly.

Run your own numbers in the affordability calculator, which lets you set your real income, commitments and DSR rather than these defaults.