Medical Officer Salary in Malaysia
Are you underpaid?
See how your pay compares to a typical Medical Officer in Malaysia.
Compare Medical Officer with
Compare any 2 jobs →Detailed Breakdown
| Level | Min / Month | Median / Month | Max / Month | Min / Year | Max / Year |
|---|---|---|---|---|---|
| Junior | RM 2,500 | RM 3,200 | RM 3,800 | RM 30,000 | RM 45,600 |
| Mid | RM 5,500 | RM 7,200 | RM 9,000 | RM 66,000 | RM 108,000 |
Medical Officer Salary by City
| City / Region | Median / Month | Typical Range |
|---|---|---|
| Kuala Lumpur / Klang Valley | RM 5,200 | RM 2,500 — RM 9,000 |
| Penang | RM 4,836 | RM 2,325 — RM 8,370 |
| Johor Bahru | RM 4,680 | RM 2,250 — RM 8,100 |
| Other states | RM 4,316 | RM 2,075 — RM 7,470 |
What's the real take-home?
The Medical Officer median is RM 5,200 gross. See what's left after EPF, SOCSO & tax.
Make your Medical Officer salary go further
☕ Tired of the grind? Bask Bear — Buy 1 Free 1
Take a proper break — you earned it. Order your favourite coffee & toastie (pickup, delivery or walk-in), grab the Buy 1 Free 1 deal and rack up app perks while you're at it.
💰 Make your salary earn money on its own → RinggitPlus
Don't let your hard-earned gaji sit idle. Cashback cards & high-interest savings that put hundreds of ringgit back in your pocket every year.
Some links above are affiliate links. We may earn a commission if you sign up or purchase — at no extra cost to you. This never affects our salary data.
Medical Officer Salary: What to Expect
Salaries for a Medical Officer in Malaysia typically range from RM 2,500 to RM 9,000 a month, centred on a median of RM 5,200. An ageing population and expanding private healthcare sector keep demand for medical professionals consistently strong.
Entry-level Medical Officers start near RM 2,500–RM 3,800 per month. Pay rises markedly with experience: a senior Medical Officer earns about 125% more than someone just starting out, reaching up to RM 9,000 per month at the top end. The breakdown below splits pay across 2 experience levels so you can see where you fit.
The biggest factors affecting a Medical Officer's pay in Malaysia are specialisation, years of clinical experience, and whether the role is public or private sector. Salaries also vary by employer — government hospitals, private hospital groups, and clinics tend to pay differently — and by location, with the Klang Valley and Penang generally paying more than other states.
Where you work matters. A Medical Officer in Kuala Lumpur or the wider Klang Valley typically earns the most, around RM 5,200 a month at the median. In Penang, expect roughly RM 4,836, and in Johor Bahru about RM 4,680. Pay in other states tends to run lower — near RM 4,316 — though the lower cost of living often makes up part of the gap.
To earn more as a Medical Officer, the fastest levers are specialisation, years of clinical experience, and whether the role is public or private sector. Moving from entry to senior level alone lifts pay by about 125% in this field, so building depth and taking on bigger scope pays off. Switching employers — particularly from a local firm to an MNC or shared-service centre — and negotiating with a documented salary benchmark are the other two moves that most reliably raise a Medical Officer's package in Malaysia.
Frequently Asked Questions
How much does a Medical Officer earn in Malaysia?
A Medical Officer in Malaysia earns a median of RM 5,200 per month (RM 62,400 per year), with most earning between RM 2,500 and RM 9,000 monthly.
What is the starting salary for a Medical Officer in Malaysia?
Entry-level Medical Officers typically start at RM 2,500 to RM 3,800 per month in the Klang Valley market.
How much does a senior Medical Officer make?
A senior Medical Officer can earn up to RM 9,000 per month — about 125% more than an entry-level role.
How much does a Medical Officer earn per hour in Malaysia?
At the median monthly pay of RM 5,200, a Medical Officer earns roughly RM 27 per hour based on a standard full-time work week.
How much does a Medical Officer earn in Kuala Lumpur?
In Kuala Lumpur and the Klang Valley, a Medical Officer earns about RM 5,200 per month at the median — the highest in Malaysia. Penang and Johor Bahru pay slightly less, around RM 4,836 and RM 4,680.
Is Medical Officer a well-paid job in Malaysia?
With a median of RM 5,200 per month, a Medical Officer earns above the Malaysian graduate median, and pay improves notably with experience and specialised skills.