Salaripedia
English

How much does a nurse practitioner make in Birmingham?

$107,700a year

Median yearly pay for nurse practitioners in the Birmingham, AL metro area. That is $51.78 an hour or $8,975 a month.

Hourly
$51.78
Vs. national median
-19%
Rank among cities
372 of 383
Jobs in the area
1,350
Pay range
Lowest 10%: $89,240Median: $107,700Highest 10%: $137,600
PercentileYearlyHourly
10th$89,240$42.90
25th$101,200$48.66
Median$107,700$51.78
75th$126,900$61.00
90th$137,600$66.13

Other cities in Alabama

Median yearly pay for nurse practitioners.

Columbus, GA$121,500
Tuscaloosa, AL$110,500
Auburn, AL$108,500
Decatur, AL$107,800
Dothan, AL$105,700
Montgomery, AL$105,100
Daphne, AL$104,400
Huntsville, AL$103,900
Gadsden, AL$103,700
Mobile, AL$103,500
Anniston, AL$101,200
Florence, AL$101,000
Nurse Practitioner salary in Alabama Nurse Practitioner salary in all states

Related jobs in Birmingham

Same field, median yearly pay.

General Internal Medicine Physician$334,100
Physician$237,000
Pediatrician$189,700
Nurse Anesthetist$175,900
Podiatrist$169,800
Optometrist$162,900
Pharmacist$138,800
Family Medicine Physician$120,000
Veterinarian$106,900
Physician Assistant$105,400
Salaries for every job in Birmingham, AL

Frequently asked questions

How much does a nurse practitioner make an hour in Birmingham?

The median hourly pay in the Birmingham, AL metro area is $51.78 ($107,700 a year).

Do nurse practitioners make more in Birmingham than the national average?

No: $107,700 against $132,300 nationally, 19% less.

How does Birmingham compare with the rest of Alabama?

The median in Alabama is $105,800, so Birmingham pays 2% more.

Where does Birmingham rank for nurse practitioner pay?

372 of 383 metro areas with data.

How much does a nurse practitioner make starting out in Birmingham?

The lowest-paid 10% make $89,240 or less a year; the top 10% make $137,600 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.