Physical & Occupational Therapy in North Carolina
Physical therapists and occupational therapists registered with a practice address in this area, including their board-recognised specialty areas.
How density varies inside North Carolina
Each bar is the number of places at that level of provider density. A long right tail means a few places carry far more providers per resident than the rest of the state.
There are 14,771 licensed therapists registered in North Carolina. The two most common licence types are physical therapist (8,691) and occupational therapist (4,664).
North Carolina ranks 11th of 56 states and territories by the number of registered providers in this field.
The largest single group is physical therapist, at 8,691 providers or 59% of the total. Licence titles vary between states for what is often similar training and scope, so the mix here partly reflects how North Carolina licenses its providers.
No single licence type dominates here — physical therapist and occupational therapist are within reach of each other. For most common reasons to seek therapy, the distinction between those licences matters less than availability and cost.
Providers are registered in 526 distinct places across North Carolina. The map shows the ZIP codes with the highest counts.
These counts come from the federal NPI registry. A provider appears here if they hold an active NPI with a practice address in this area — it does not mean they are currently accepting new clients, and the registry does not record insurance, fees or availability.
How North Carolina got here
new registrations per yearEach registration carries the year it was issued, so the registry doubles as a record of when this workforce grew in North Carolina. A rising line means the constraint is easing; a flat one means today's shortage is likely to be next year's too.
Who they are
self-reported to CMS76.6% of registered licensed therapists in North Carolina are women. Nationally the figure varies a great deal by licence type — occupational therapy at one end, psychiatry at the other. See the national breakdown.
You can filter any city list on this site by gender. We show it because it is one of the most common things people search for and, for some kinds of work, a real need — but it is only ever a filter here, never a ranking.
Where they are registered
circle size = providers in that ZIP codeBy licence type
Places in North Carolina
344 of 344 have their own page so far| Place | Providers | Population | Per 10k |
|---|---|---|---|
| Charlotte | 1,657 | 964,784 | 17.2 |
| Raleigh | 1,139 | 506,306 | 22.5 |
| Durham | 923 | 305,561 | 30.2 |
| Fayetteville | 655 | 209,120 | 31.3 |
| Cary | 569 | 183,582 | 31.0 |
| Asheville | 564 | 93,523 | |
| Wilmington | 484 | 126,809 | 38.2 |
| Chapel Hill | 480 | 63,565 | 75.5 |
| Greensboro | 451 | 308,667 | 14.6 |
| Clemmons | 252 | 22,808 | |
| Greenville | 237 | 96,443 | 24.6 |
| Gastonia | 218 | 87,067 | 25.0 |
| Mooresville | 214 | 55,842 | 38.3 |
| New Bern | 182 | 34,724 | 52.4 |
| Huntersville | 181 | 68,535 | 26.4 |
| Matthews | 175 | 32,769 | 53.4 |
| Apex | 166 | 80,419 | 20.6 |
| Hendersonville | 165 | 15,867 | 104.0 |
| Concord | 163 | 114,598 | 14.2 |
| Jacksonville | 161 | 72,732 | 22.1 |
| Hickory | 152 | 45,975 | 33.1 |
| Wake Forest | 132 | 58,147 | 22.7 |
| Salisbury | 117 | 36,879 | 31.7 |
| High Point | 109 | 120,571 | 9.0 |
| Waxhaw | 103 | 23,140 | 44.5 |
| Kernersville | 102 | 29,128 | 35.0 |
| Burlington | 101 | 61,496 | 16.4 |
| Monroe | 96 | 42,644 | 22.5 |
| Winston-Salem | 94 | 257,271 | 3.7 |
| Fuquay-Varina | 93 | 48,536 | 19.2 |
| Clayton | 92 | 32,633 | 28.2 |
| Avery Creek | 92 | ||
| Hillsborough | 85 | 9,778 | 86.9 |
| Garner | 84 | 41,562 | 20.2 |
| Shallotte | 79 | 5,335 | |
| Bethania | 78 | 367 | |
| Holly Springs | 76 | 50,288 | 15.1 |
| Goldsboro | 76 | 35,012 | 21.7 |
| Southern Pines | 74 | 17,357 | 42.6 |
| Dunn | 74 | 8,814 | 84.0 |
| Sanford | 72 | 34,138 | 21.1 |
| Statesville | 69 | 32,181 | 21.4 |
| Shelby | 69 | 23,309 | 29.6 |
| Lexington | 69 | 20,238 | 34.1 |
| Indian Trail | 69 | 44,303 | 15.6 |
| Smithfield | 67 | 13,114 | 51.1 |
| Knightdale | 66 | 23,144 | 28.5 |
| Morganton | 65 | 17,849 | 36.4 |
| Boone | 65 | 19,929 | 32.6 |
| Southport | 64 | 4,434 | |
| Wilson | 62 | 49,572 | 12.5 |
| Sneads Ferry | 62 | ||
| Pinehurst | 61 | 18,670 | 32.7 |
| Morrisville | 57 | 32,466 | 17.6 |
| Cornelius | 56 | 35,094 | 16.0 |
| Brevard | 56 | 8,098 | 69.2 |
| Asheboro | 55 | 27,990 | 19.6 |
| Leland | 53 | 35,731 | 14.8 |
| Hampstead | 53 | ||
| Carrboro | 53 | 20,962 | 25.3 |
| Rocky Mount | 48 | 55,120 | 8.7 |
| Pineville | 46 | 11,851 | 38.8 |
| Oxford | 46 | 8,985 | 51.2 |
| Morehead City | 45 | 10,434 | 43.1 |
| Mount Airy | 44 | 10,682 | 41.2 |
| Belmont | 43 | 16,415 | 26.2 |
| Lenoir | 42 | 18,372 | 22.9 |
| Lumberton | 41 | 18,955 | 21.6 |
| Lincolnton | 39 | 12,465 | 31.3 |
| Elizabeth City | 39 | 19,622 | 19.9 |
| Pittsboro | 38 | 5,054 | |
| Walkertown | 35 | 6,120 | |
| Sylva | 35 | 2,691 | |
| Bent Creek | 35 | ||
| Franklin | 34 | 4,403 | |
| Black Mountain | 34 | 8,491 | 40.0 |
| Waynesville | 32 | 11,006 | 29.1 |
| Louisburg | 32 | 3,480 | 92.0 |
| Marvin | 31 | 7,040 | 44.0 |
| Kannapolis | 31 | 61,708 | 5.0 |
| Marion | 29 | 7,440 | 39.0 |
| Denver | 29 | ||
| Columbus | 27 | 1,042 | 259.1 |
| Mint Hill | 26 | 29,476 | 8.8 |
| Albemarle | 26 | 17,769 | 14.6 |
| Lillington | 25 | 5,040 | 49.6 |
| Harrisburg | 25 | 20,742 | 12.1 |
| Roxboro | 24 | 8,380 | 28.6 |
| North Wilkesboro | 24 | 4,369 | 54.9 |
| Newton | 24 | 13,822 | 17.4 |
| Nashville | 24 | 5,911 | 40.6 |
| Weaverville | 23 | 4,790 | 48.0 |
| Washington | 23 | 9,910 | 23.2 |
| Advance | 22 | ||
| Roanoke Rapids | 21 | 14,386 | 14.6 |
| Murphy | 21 | 1,808 | |
| Forest City | 21 | 7,410 | 28.3 |
| Eden | 21 | 15,500 | 13.5 |
| Davidson | 21 | 16,662 | 12.6 |
| Clyde | 21 | 1,355 | 155.0 |
| Thomasville | 20 | 27,733 | 7.2 |
| Tarboro | 20 | 10,979 | 18.2 |
| Mebane | 20 | 21,952 | 9.1 |
| Kinston | 20 | 19,705 | 10.1 |
| Elkin | 20 | 4,130 | 48.4 |
| Yadkinville | 19 | 3,055 | 62.2 |
| Clinton | 19 | 8,466 | 22.4 |
| Siler City | 18 | 8,155 | 22.1 |
| Laurinburg | 18 | 14,582 | 12.3 |
| King | 18 | 7,977 | 22.6 |
| Midway | 17 | 5,104 | |
| Havelock | 17 | 17,430 | 9.8 |
| Fletcher | 17 | 8,373 | 20.3 |
| Bolivia | 17 | 271 | |
| Whiteville | 16 | 4,765 | 33.6 |
| Richlands | 16 | 2,485 | 64.4 |
| Raeford | 16 | 4,703 | 34.0 |
| Granite Falls | 16 | 4,964 | 32.2 |
| Jefferson | 15 | 1,680 | |
| Henderson | 15 | 15,013 | 10.0 |
| Graham | 15 | 20,131 | 7.5 |
| Burnsville | 15 | 1,655 | |
| Sunset Beach | 14 | 4,642 | 30.2 |
| Seven Lakes | 14 | ||
| Newport | 14 | 4,500 | 31.1 |
| Mount Holly | 14 | 19,033 | 7.4 |
| Mocksville | 14 | 6,282 | 22.3 |
| Kitty Hawk | 14 | 3,670 | 38.1 |
| Williamston | 13 | 5,086 | 25.6 |
| Swansboro | 13 | 4,174 | 31.1 |
| Sparta | 13 | 1,918 | 67.8 |
| Reidsville | 13 | 14,692 | 8.8 |
| Marshall | 13 | 802 | |
| Cleveland | 13 | 902 | 144.1 |
| Bryson City | 13 | 1,525 | 85.2 |
| Wilkesboro | 12 | 3,618 | 33.2 |
| Elizabethtown | 12 | 3,306 | 36.3 |
| Burgaw | 12 | 3,903 | 30.7 |
| Beulaville | 12 | 1,176 | |
| Aberdeen | 12 | 10,066 | 11.9 |
| Winterville | 11 | 10,973 | 10.0 |
| Weddington | 11 | 14,517 | 7.6 |
| Wallace | 11 | 3,570 | 30.8 |
| Summerfield | 11 | 11,327 | 9.7 |
| Spindale | 11 | 4,180 | 26.3 |
| Hope Mills | 11 | 18,324 | 6.0 |
| Cullowhee | 11 | ||
| Wrightsville Beach | 10 | 2,397 | 41.7 |
| Spruce Pine | 10 | 2,211 | 45.2 |
| Nags Head | 10 | 3,117 | 32.1 |
| Conover | 10 | 8,938 | 11.2 |
| Coinjock | 10 | ||
| Carolina Beach | 10 | 6,870 | 14.6 |
| Beaufort | 10 | 4,912 | 20.4 |
| Angier | 10 | 9,410 | 10.6 |
| Zebulon | 9 | 11,933 | 7.5 |
| Youngsville | 9 | 2,461 | 36.6 |
| Wadesboro | 9 | 5,035 | 17.9 |
| Taylorsville | 9 | 2,333 | 38.6 |
| Ocean Isle Beach | 9 | 940 | 95.7 |
| Mills River | 9 | 7,504 | 12.0 |
| Kings Mountain | 9 | 12,117 | 7.4 |
| Kill Devil Hills | 9 | 7,731 | 11.6 |
| Cherryville | 9 | 6,523 | 13.8 |
| Cherokee | 9 | ||
| Cameron | 9 | 270 | |
| Ayden | 9 | 5,263 | 17.1 |
| Ahoskie | 9 | 4,608 | 19.5 |
| Hayesville | 8 | 470 | |
| Canton | 8 | 4,418 | 18.1 |
| Bermuda Run | 8 | 3,323 | 24.1 |
| Jamestown | 7 | 3,803 | 18.4 |
| Edenton | 7 | 4,546 | 15.4 |
| China Grove | 7 | 4,650 | 15.1 |
| Butner | 7 | 8,112 | |
| Wendell | 6 | 19,687 | 3.0 |
| Spencer | 6 | 3,450 | 17.4 |
| Snow Hill | 6 | 1,588 | |
| Rolesville | 6 | 12,839 | 4.7 |
| Pleasant Garden | 6 | 5,165 | 11.6 |
| Pembroke | 6 | 2,888 | 20.8 |
| Mount Pleasant | 6 | 1,816 | 33.0 |
| Archdale | 6 | 12,254 | 4.9 |
| West Jefferson | 5 | 1,348 | 37.1 |
| Tryon | 5 | 1,634 | 30.6 |
| Stanley | 5 | 4,237 | 11.8 |
| Selma | 5 | 7,406 | 6.8 |
| Rutherfordton | 5 | 3,723 | 13.4 |
| Rougemont | 5 | ||
| Robbinsville | 5 | 579 | |
| Pilot Mountain | 5 | 1,437 | 34.8 |
| Oak Ridge | 5 | 7,896 | 6.3 |
| Locust | 5 | 6,120 | 8.2 |
| Lake Norman of Catawba | 5 | ||
| Holly Ridge | 5 | 5,908 | 8.5 |
| Hamlet | 5 | 5,870 | 8.5 |
| Franklinton | 5 | 2,890 | 17.3 |
| Calabash | 5 | 3,069 | 16.3 |
| Belville | 5 | 3,199 | 15.6 |
| Yanceyville | 4 | 1,850 | 21.6 |
| Whispering Pines | 4 | 5,505 | 7.3 |
| Walnut Cove | 4 | 1,609 | 24.9 |
| Surf City | 4 | 5,142 | 7.8 |
| Spring Lake | 4 | 11,252 | 3.6 |
| Rockingham | 4 | 8,815 | 4.5 |
| Randleman | 4 | 4,767 | 8.4 |
| Oriental | 4 | 909 | 44.0 |
| Nebo | 4 | ||
| Mount Olive | 4 | 4,521 | 8.8 |
| McLeansville | 4 | ||
| Grantsboro | 4 | 728 | 54.9 |
| Flat Rock | 4 | 3,643 | 11.0 |
| Elon | 4 | 11,366 | 3.5 |
| Denton | 4 | 1,610 | 24.8 |
| Cramerton | 4 | 5,713 | 7.0 |
| Biscoe | 4 | 1,887 | 21.2 |
| Wallburg | 3 | 3,255 | 9.2 |
| Scotland Neck | 3 | 1,586 | 18.9 |
| Saluda | 3 | 671 | 44.7 |
| Ruffin | 3 | ||
| Ramseur | 3 | 1,806 | 16.6 |
| Plymouth | 3 | 3,170 | 9.5 |
| Pinnacle | 3 | ||
| Oak Island | 3 | 9,337 | 3.2 |
| Midland | 3 | 5,151 | 5.8 |
| Marshville | 3 | 2,739 | 11.0 |
| Maggie Valley | 3 | 1,748 | 17.2 |
| Madison | 3 | 2,190 | 13.7 |
| Linville | 3 | ||
| Lewisville | 3 | 14,421 | 2.1 |
| Kenansville | 3 | 814 | 36.9 |
| Jackson | 3 | 410 | |
| Hertford | 3 | 2,011 | 14.9 |
| Gibsonville | 3 | 9,876 | 3.0 |
| Erwin | 3 | 4,956 | 6.1 |
| Efland | 3 | ||
| Creedmoor | 3 | 5,046 | 5.9 |
| Connelly Springs | 3 | 1,550 | 19.4 |
| Cedar Point | 3 | 1,825 | 16.4 |
| Boiling Spring Lakes | 3 | 6,875 | 4.4 |
| Bakersville | 3 | 468 | 64.1 |
| Andrews | 3 | 1,799 | 16.7 |
| Wingate | 2 | 4,628 | 4.3 |
| Whitsett | 2 | 606 | |
| Warrenton | 2 | 819 | |
| Valdese | 2 | 4,712 | 4.2 |
| Trinity | 2 | 7,274 | 2.7 |
| Stanfield | 2 | 1,744 | 11.5 |
| Rocky Point | 2 | ||
| Pollocksville | 2 | 276 | 72.5 |
| Pink Hill | 2 | 459 | 43.6 |
| Pikeville | 2 | 738 | 27.1 |
| Peletier | 2 | 803 | 24.9 |
| Newland | 2 | 728 | |
| Manteo | 2 | 1,585 | 12.6 |
| Maiden | 2 | 3,922 | 5.1 |
| McAdenville | 2 | 960 | 20.8 |
| Lake Waccamaw | 2 | 1,239 | 16.1 |
| Lake Lure | 2 | 1,391 | 14.4 |
| La Grange | 2 | 2,947 | 6.8 |
| Jonesville | 2 | 2,356 | 8.5 |
| Hildebran | 2 | 1,691 | 11.8 |
| Hiddenite | 2 | ||
| Gatesville | 2 | 260 | |
| Faison | 2 | 824 | 24.3 |
| East Bend | 2 | 646 | 31.0 |
| Danbury | 2 | 187 | |
| Claremont | 2 | 1,790 | 11.2 |
| Cashiers | 2 | ||
| Camden | 2 | ||
| Benson | 2 | 4,660 | 4.3 |
| Woodfin | 1 | 8,229 | 1.2 |
| Winton | 1 | 592 | 16.9 |
| Windsor | 1 | 3,469 | 2.9 |
| Weldon | 1 | 1,374 | 7.3 |
| Watha | 1 | 226 | 44.2 |
| Vanceboro | 1 | 877 | 11.4 |
| Tyro | 1 | ||
| Troy | 1 | 3,020 | 3.3 |
| Trent Woods | 1 | 4,070 | 2.5 |
| Topsail Beach | 1 | 503 | 19.9 |
| Toast | 1 | ||
| Tabor City | 1 | 3,886 | 2.6 |
| Swannanoa | 1 | ||
| Stokesdale | 1 | 6,133 | 1.6 |
| Stallings | 1 | 17,760 | 0.6 |
| Southern Shores | 1 | 3,110 | 3.2 |
| Smithtown | 1 | ||
| Rutherford College | 1 | 1,220 | 8.2 |
| Rural Hall | 1 | 3,607 | 2.8 |
| Rockwell | 1 | 2,417 | 4.1 |
| Robbins | 1 | 1,305 | 7.7 |
| Princeton | 1 | 1,544 | 6.5 |
| Pinebluff | 1 | 1,571 | 6.4 |
| Moyock | 1 | ||
| Mount Gilead | 1 | 1,187 | 8.4 |
| Moravian Falls | 1 | ||
| Moncure | 1 | ||
| Milton | 1 | 176 | |
| Maxton | 1 | 2,149 | 4.7 |
| Mars Hill | 1 | 2,280 | 4.4 |
| Mar-Mac | 1 | ||
| Marble | 1 | ||
| Macclesfield | 1 | 408 | 24.5 |
| Lowell | 1 | 3,939 | 2.5 |
| Littleton | 1 | 535 | 18.7 |
| Linden | 1 | 139 | 71.9 |
| Laurel Park | 1 | 2,360 | 4.2 |
| Lansing | 1 | 128 | |
| Kenly | 1 | 1,722 | 5.8 |
| Jamesville | 1 | 411 | 24.3 |
| Iron Station | 1 | ||
| Icard | 1 | ||
| Hookerton | 1 | 419 | 23.9 |
| Hollister | 1 | ||
| Harmony | 1 | 619 | 16.2 |
| Grandy | 1 | ||
| Godwin | 1 | 159 | 62.9 |
| Frisco | 1 | ||
| Fremont | 1 | 1,237 | 8.1 |
| Four Oaks | 1 | 2,978 | 3.4 |
| Flat Rock | 1 | ||
| Farmville | 1 | 4,577 | 2.2 |
| Fairview | 1 | ||
| Fairmont | 1 | 2,231 | 4.5 |
| Etowah | 1 | ||
| Enfield | 1 | 1,777 | 5.6 |
| Emerald Isle | 1 | 3,970 | 2.5 |
| Elm City | 1 | 1,250 | 8.0 |
| Ellenboro | 1 | 738 | 13.6 |
| Eastover | 1 | 3,743 | 2.7 |
| Dobson | 1 | 1,474 | 6.8 |
| Delco | 1 | ||
| Dallas | 1 | 6,392 | 1.6 |
| Crossnore | 1 | 238 | |
| Cove Creek | 1 | ||
| Carthage | 1 | 3,070 | 3.3 |
| Bostic | 1 | 359 | 27.9 |
| Blowing Rock | 1 | 1,324 | 7.6 |
| Bladenboro | 1 | 1,656 | 6.0 |
| Bennett | 1 | ||
| Belwood | 1 | 876 | 11.4 |
| Belhaven | 1 | 1,414 | 7.1 |
| Atlantic | 1 |
30 places have no per-resident figure. Those are office districts inside a larger urban area, rural towns whose practices serve a whole region, or places where most registrations share one employer's address — dividing by the resident population there produces a number that looks precise and describes nothing. The provider counts are unaffected; the test is described in the methodology.