How much does a Medical Officer make in India?
Medical officers diagnose and treat patients and oversee clinical care and health programmes. The estimated average Medical Officer salary in India is ₹8,50,000 per year (about ₹71,000 per month), typically ranging from ₹4,25,000 to ₹17,85,000 per year depending on experience, city and employer.
Salary range
Salary by experience level
Highest paying cities for Medical Officers in India
Common questions about Medical Officer salaries
What is the average salary of a Medical Officer in India?
The estimated average salary of a Medical Officer in India is ₹8,50,000 per year (about ₹71,000 per month). Actual pay typically ranges from ₹4,25,000 to ₹17,85,000 per year depending on experience, location and company.
How much does a fresher Medical Officer earn?
An entry-level Medical Officer (0-2 years of experience) can expect an estimated ₹4,68,000 per year, growing to around ₹15,30,000 at the senior level (7+ years).
Which city pays Medical Officers the most?
Among major Indian cities, Bengaluru tends to pay Medical Officers the highest, at an estimated ₹9,77,000 per year.
Browse live Medical Officer openings from employers across India on QckServe.
View jobsMedical Officer salary figures are estimated averages for guidance only, based on typical market ranges in India. Actual pay varies by employer, location, experience and skills.




