Salaripedia
English

How much does a general internal medicine physician make in Houston?

$274,400a year

Median yearly pay for general internal medicine physicians in the Houston-Pasadena-The Woodlands, TX metro area. That is $131.93 an hour or $22,870 a month.

Hourly
$131.93
Vs. national median
+7%
Rank among cities
68 of 154
Jobs in the area
1,030
Pay range
Lowest 10%: $67,400Median: $274,400Highest 10%: $441,300
PercentileYearlyHourly
10th$67,400$32.40
25th$144,000$69.23
Median$274,400$131.93
75th$356,500$171.39
90th$441,300$212.16

Other cities in Texas

Median yearly pay for general internal medicine physicians.

College Station, TX$326,100
Dallas, TX$276,500
Austin, TX$256,900
San Antonio, TX$228,200
Tyler, TX$65,810
Odessa, TX$65,630
General Internal Medicine Physician salary in Texas General Internal Medicine Physician salary in all states

Related jobs in Houston

Same field, median yearly pay.

Dentist$389,500
Ophthalmologist$320,500
Physician$292,500
Physician$291,500
Neurologist$278,000
Nurse Anesthetist$275,300
Psychiatrist$249,100
Anesthesiologist$210,200
Dermatologist$207,000
Cardiologist$187,600
Salaries for every job in Houston, TX

Frequently asked questions

How much does a general internal medicine physician make an hour in Houston?

The median hourly pay in the Houston-Pasadena-The Woodlands, TX metro area is $131.93 ($274,400 a year).

Do general internal medicine physicians make more in Houston than the national average?

Yes: $274,400 against $256,600 nationally, 7% more.

How does Houston compare with the rest of Texas?

The median in Texas is $269,100, so Houston pays 2% more.

Where does Houston rank for general internal medicine physician pay?

68 of 154 metro areas with data.

How much does a general internal medicine physician make starting out in Houston?

The lowest-paid 10% make $67,400 or less a year; the top 10% make $441,300 or more.

Source: U.S. Bureau of Labor Statistics, Occupational Employment and Wage Statistics (OEWS): pay in May 2025, published by BLS in 2026. Hourly pay is the yearly figure divided by 2,080 hours.