Nurse Salary by State Calculator 2025

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } :root { –blue: #1a6fb5; –blue-dark: #124e82; –blue-light: #e8f2fb; –teal: #0d9488; –gray-50: #f9fafb; –gray-100: #f3f4f6; –gray-200: #e5e7eb; –gray-400: #9ca3af; –gray-600: #4b5563; –gray-800: #1f2937; –white: #ffffff; –shadow: 0 4px 24px rgba(0,0,0,0.10); –shadow-sm: 0 2px 8px rgba(0,0,0,0.07); –radius: 12px; } body { font-family: -apple-system, BlinkMacSystemFont, ‘Segoe UI’, Roboto, sans-serif; background: var(–gray-50); color: var(–gray-800); line-height: 1.6; } .nsc-header { background: linear-gradient(135deg, var(–blue-dark) 0%, var(–blue) 60%, #1d8ab8 100%); color: var(–white); padding: 56px 24px 48px; text-align: center; } .nsc-header .badge { display: inline-block; background: rgba(255,255,255,0.18); border: 1px solid rgba(255,255,255,0.3); border-radius: 999px; padding: 4px 16px; font-size: 12px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 16px; } .nsc-header h1 { font-size: clamp(24px, 5vw, 42px); font-weight: 800; letter-spacing: -0.02em; margin-bottom: 12px; } .nsc-header p { font-size: 17px; opacity: 0.85; max-width: 520px; margin: 0 auto; } .nsc-container { max-width: 820px; margin: 0 auto; padding: 0 16px 64px; } .calc-card { background: var(–white); border-radius: var(–radius); box-shadow: var(–shadow); margin-top: -28px; overflow: hidden; } .selectors { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-bottom: 1px solid var(–gray-200); } @media (max-width: 560px) { .selectors { grid-template-columns: 1fr; } } .selector-group { padding: 24px 28px; border-right: 1px solid var(–gray-200); } .selector-group:last-child { border-right: none; } .selector-group label { display: block; font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(–gray-400); margin-bottom: 8px; } .selector-group select { width: 100%; font-size: 16px; font-weight: 600; color: var(–gray-800); background: var(–gray-50); border: 2px solid var(–gray-200); border-radius: 8px; padding: 10px 14px; cursor: pointer; appearance: none; background-image: url(“data:image/svg+xml,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’16’ height=’16’ viewBox=’0 0 24 24′ fill=’none’ stroke=’%234b5563′ stroke-width=’2.5’%3E%3Cpath d=’M6 9l6 6 6-6’/%3E%3C/svg%3E”); background-repeat: no-repeat; background-position: right 12px center; padding-right: 36px; transition: border-color 0.2s; } .selector-group select:focus { outline: none; border-color: var(–blue); } .result-panel { padding: 32px 28px 28px; border-bottom: 1px solid var(–gray-200); } .salary-display { display: flex; align-items: flex-end; gap: 24px; flex-wrap: wrap; margin-bottom: 20px; } .salary-annual { flex: 1; } .salary-annual .label { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.07em; color: var(–gray-400); margin-bottom: 4px; } .salary-annual .amount { font-size: clamp(36px, 8vw, 56px); font-weight: 800; color: var(–blue-dark); letter-spacing: -0.03em; line-height: 1; } .salary-annual .per-hour { margin-top: 6px; font-size: 15px; color: var(–gray-600); font-weight: 500; } .rank-badge { background: var(–blue-light); border-radius: 10px; padding: 14px 20px; text-align: center; min-width: 120px; } .rank-badge .rank-num { font-size: 32px; font-weight: 800; color: var(–blue); line-height: 1; } .rank-badge .rank-label { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.07em; color: var(–blue); margin-top: 4px; } .salary-bar-wrap { margin-bottom: 8px; } .salary-bar-labels { display: flex; justify-content: space-between; font-size: 11px; color: var(–gray-400); margin-bottom: 5px; font-weight: 500; } .salary-bar-track { background: var(–gray-100); border-radius: 999px; height: 10px; overflow: hidden; } .salary-bar-fill { height: 100%; background: linear-gradient(90deg, var(–blue) 0%, var(–teal) 100%); border-radius: 999px; transition: width 0.5s cubic-bezier(0.4,0,0.2,1); } .salary-bar-note { font-size: 12px; color: var(–gray-400); margin-top: 6px; text-align: center; } .comparison { padding: 0 28px 28px; } .comparison h2 { font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.07em; color: var(–gray-400); margin-bottom: 14px; padding-top: 24px; border-top: 1px solid var(–gray-100); } .role-rows { display: flex; flex-direction: column; gap: 10px; } .role-row { display: grid; grid-template-columns: 140px 1fr 110px; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 8px; transition: background 0.15s; cursor: default; } .role-row:hover { background: var(–gray-50); } .role-row.active { background: var(–blue-light); outline: 2px solid var(–blue); } .role-name { font-weight: 600; font-size: 14px; color: var(–gray-800); } .role-name .role-full { font-size: 11px; color: var(–gray-400); font-weight: 400; display: block; } .role-bar-track { background: var(–gray-100); border-radius: 999px; height: 8px; overflow: hidden; } .role-bar-fill { height: 100%; background: var(–blue); border-radius: 999px; } .role-row.active .role-bar-fill { background: linear-gradient(90deg, var(–blue), var(–teal)); } .role-salary { text-align: right; font-weight: 700; font-size: 15px; color: var(–gray-800); } .role-salary .role-hourly { display: block; font-size: 11px; font-weight: 400; color: var(–gray-400); } .footer-section { background: var(–gray-50); border-top: 1px solid var(–gray-200); padding: 20px 28px; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; } .source-note { font-size: 12px; color: var(–gray-400); } .cta-card { background: linear-gradient(135deg, var(–teal) 0%, var(–blue) 100%); border-radius: var(–radius); padding: 36px 32px; margin-top: 24px; color: var(–white); text-align: center; } .cta-card h2 { font-size: 22px; font-weight: 800; margin-bottom: 10px; } .cta-card p { opacity: 0.9; font-size: 15px; max-width: 420px; margin: 0 auto 20px; } .cta-btn { display: inline-block; background: var(–white); color: var(–blue-dark); font-weight: 700; font-size: 15px; padding: 13px 28px; border-radius: 8px; text-decoration: none; transition: transform 0.15s, box-shadow 0.15s; box-shadow: 0 4px 12px rgba(0,0,0,0.15); } .cta-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,0.2); } .faq { margin-top: 24px; } .faq h2 { font-size: 20px; font-weight: 800; margin-bottom: 16px; color: var(–gray-800); } .faq-item { background: var(–white); border-radius: var(–radius); box-shadow: var(–shadow-sm); padding: 20px 24px; margin-bottom: 12px; } .faq-item h3 { font-size: 15px; font-weight: 700; color: var(–gray-800); margin-bottom: 8px; } .faq-item p { font-size: 14px; color: var(–gray-600); line-height: 1.7; } .nsc-page-footer { text-align: center; padding: 32px 16px; font-size: 12px; color: var(–gray-400); } .nsc-page-footer a { color: var(–blue); text-decoration: none; }
Free Tool – 2025 BLS Data

Nurse Salary by State Calculator

Find out exactly what nurses earn in your state – RN, LPN, NP, CRNA, and CNA all in one place.

Mean Annual Salary
$98,820
$47.51 / hour
#8
of 51 states
Lowest New York RN Salary Highest
$47.51/hr – Top 16% nationally

All nursing roles in New York

Wondering which healthcare career fits you best?

Compare salaries, education requirements, job outlook, and more across every major healthcare role.

Explore Healthcare Career Comparisons

Frequently Asked Questions

How accurate is this nurse salary data?

All figures are sourced from the U.S. Bureau of Labor Statistics (BLS) Occupational Employment and Wage Statistics (OEWS) program, updated with 2024 data. BLS surveys over 1.1 million employer establishments annually, making it the most comprehensive source of wage data in the U.S. Individual salaries will vary based on specialty, experience, employer type, and shift differentials.

Why do nurse salaries vary so much by state?

State-level variation is driven by cost of living, unionization rates, state-specific nurse-to-patient ratio laws (California has the strictest), demand for nurses versus local supply, and whether states participate in compact licensing. California, Hawaii, Oregon, and Washington consistently pay the highest RN salaries due to strong union presence and high cost of living adjustments.

What is the difference between RN and NP salary?

Nurse Practitioners (NPs) earn significantly more than Registered Nurses – typically 40-50% more – because NPs hold a graduate degree (MSN or DNP) and have full or partial prescriptive authority depending on the state. NPs can diagnose conditions, manage treatment plans, and often practice independently. The additional 2-4 years of education required pays off substantially over a career.

Do these figures include overtime and shift differentials?

BLS mean annual wages reflect base compensation reported by employers and generally do not capture overtime, bonuses, or night/weekend shift differentials. Nurses working night shifts, overtime, or in high-demand specialties like ICU or emergency departments commonly earn 15-25% above the base figures shown here.

Which nursing role has the best return on education investment?

The CRNA (Certified Registered Nurse Anesthetist) typically offers the highest ROI for advanced nursing roles, with mean salaries exceeding $195,000 nationally. For those starting from scratch, the RN pathway (2-4 years, no graduate degree required) offers strong earnings with broad job availability. NPs offer an excellent middle ground – significant salary increase with 2-3 additional years of graduate education beyond the BSN.

(function(){ var rnBase={AL:62820,AK:90720,AZ:79750,AR:62360,CA:133340,CO:84860,CT:95130,DE:83160,FL:72500,GA:71340,HI:113220,ID:73110,IL:81580,IN:68730,IA:64080,KS:65850,KY:64050,LA:65710,ME:72510,MD:85520,MA:104140,MI:74060,MN:85770,MS:59920,MO:65000,MT:72370,NE:70740,NV:96690,NH:78810,NJ:91800,NM:74020,NY:98820,NC:67940,ND:70590,OH:70300,OK:64490,OR:106610,PA:74250,RI:88340,SC:65270,SD:63460,TN:62410,TX:77720,UT:72900,VT:79930,VA:80250,WA:102710,WV:62330,WI:77930,WY:74440,DC:101220}; var roles={CNA:{label:’CNA’,full:’Certified Nursing Assistant’,mult:0.435},LPN:{label:’LPN’,full:’Licensed Practical Nurse’,mult:0.655},RN:{label:’RN’,full:’Registered Nurse’,mult:1.000},NP:{label:’NP’,full:’Nurse Practitioner’,mult:1.485},CRNA:{label:’CRNA’,full:’Nurse Anesthetist’,mult:2.390}}; var stateNames={AL:’Alabama’,AK:’Alaska’,AZ:’Arizona’,AR:’Arkansas’,CA:’California’,CO:’Colorado’,CT:’Connecticut’,DE:’Delaware’,FL:’Florida’,GA:’Georgia’,HI:’Hawaii’,ID:’Idaho’,IL:’Illinois’,IN:’Indiana’,IA:’Iowa’,KS:’Kansas’,KY:’Kentucky’,LA:’Louisiana’,ME:’Maine’,MD:’Maryland’,MA:’Massachusetts’,MI:’Michigan’,MN:’Minnesota’,MS:’Mississippi’,MO:’Missouri’,MT:’Montana’,NE:’Nebraska’,NV:’Nevada’,NH:’New Hampshire’,NJ:’New Jersey’,NM:’New Mexico’,NY:’New York’,NC:’North Carolina’,ND:’North Dakota’,OH:’Ohio’,OK:’Oklahoma’,OR:’Oregon’,PA:’Pennsylvania’,RI:’Rhode Island’,SC:’South Carolina’,SD:’South Dakota’,TN:’Tennessee’,TX:’Texas’,UT:’Utah’,VT:’Vermont’,VA:’Virginia’,WA:’Washington’,WV:’West Virginia’,WI:’Wisconsin’,WY:’Wyoming’,DC:’Washington D.C.’}; function getSalary(s,r){return Math.round(rnBase[s]*roles[r].mult/100)*100;} function fmt(n){return ‘$’+n.toLocaleString(‘en-US’);} function getRanking(s,r){var vals=Object.keys(rnBase).map(function(k){return{s:k,v:getSalary(k,r)};});vals.sort(function(a,b){return b.v-a.v;});return vals.findIndex(function(x){return x.s===s;})+1;} function getMinMax(r){var vals=Object.keys(rnBase).map(function(s){return getSalary(s,r);});return{min:Math.min.apply(null,vals),max:Math.max.apply(null,vals)};} // Build role select var roleWrap=document.getElementById(‘roleSelectWrap’); var roleSelect=document.createElement(‘select’); roleSelect.id=’roleSelect’; roleSelect.onchange=update; var roleOrder=[‘CNA’,’LPN’,’RN’,’NP’,’CRNA’]; roleOrder.forEach(function(rk){var o=document.createElement(‘option’);o.value=rk;o.text=rk+’ – ‘+roles[rk].full;if(rk===’RN’)o.selected=true;roleSelect.appendChild(o);}); roleWrap.appendChild(roleSelect); // Build state select var stateWrap=document.getElementById(‘stateSelectWrap’); var stateSelect=document.createElement(‘select’); stateSelect.id=’stateSelect’; stateSelect.onchange=update; var stateOrder=[‘AL’,’AK’,’AZ’,’AR’,’CA’,’CO’,’CT’,’DE’,’FL’,’GA’,’HI’,’ID’,’IL’,’IN’,’IA’,’KS’,’KY’,’LA’,’ME’,’MD’,’MA’,’MI’,’MN’,’MS’,’MO’,’MT’,’NE’,’NV’,’NH’,’NJ’,’NM’,’NY’,’NC’,’ND’,’OH’,’OK’,’OR’,’PA’,’RI’,’SC’,’SD’,’TN’,’TX’,’UT’,’VT’,’VA’,’WA’,’WV’,’WI’,’WY’,’DC’]; stateOrder.forEach(function(sc){var o=document.createElement(‘option’);o.value=sc;o.text=stateNames[sc];if(sc===’NY’)o.selected=true;stateSelect.appendChild(o);}); stateWrap.appendChild(stateSelect); function update(){ var rk=document.getElementById(‘roleSelect’).value; var sc=document.getElementById(‘stateSelect’).value; var annual=getSalary(sc,rk); var hourly=(annual/2080).toFixed(2); var rank=getRanking(sc,rk); var mm=getMinMax(rk); var pct=Math.round(((annual-mm.min)/(mm.max-mm.min))*100); var sn=stateNames[sc]; document.getElementById(‘salaryAnnual’).textContent=fmt(annual); document.getElementById(‘salaryHourly’).textContent=’$’+hourly+’ / hour’; document.getElementById(‘rankNum’).textContent=’#’+rank; document.getElementById(‘salaryBar’).style.width=pct+’%’; document.getElementById(‘stateLabel’).textContent=sn+’ ‘+rk+’ Salary’; document.getElementById(‘barNote’).textContent=’$’+hourly+’/hr – ‘+(rank=42?’Bottom ‘+Math.round(((51-rank+1)/51)*100)+’% nationally’:’Ranked #’+rank+’ of 51′); document.getElementById(‘stateNameCompare’).textContent=sn; var rowsEl=document.getElementById(‘roleRows’); rowsEl.innerHTML=”; var maxSal=getSalary(sc,’CRNA’); roleOrder.forEach(function(r){ var sal=getSalary(sc,r); var hr=(sal/2080).toFixed(2); var bp=Math.round((sal/maxSal)*100); var row=document.createElement(‘div’); row.className=’role-row’+(r===rk?’ active’:”); row.innerHTML=’
‘+roles[r].label+’‘+roles[r].full+’
‘+fmt(sal)+’$’+hr+’/hr
‘; row.onclick=(function(rr){return function(){document.getElementById(‘roleSelect’).value=rr;update();};})(r); rowsEl.appendChild(row); }); } update(); })();