Physical & Occupational Therapy in Michigan
Physical therapists and occupational therapists registered with a practice address in this area, including their board-recognised specialty areas.
How density varies inside Michigan
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.
Michigan has 16,161 licensed therapists with a registered practice address, across 3 licence types.
Michigan ranks 9th of 56 states and territories by the number of registered providers in this field.
The largest single group is physical therapist, at 9,636 providers or 60% of the total. Licence titles vary between states for what is often similar training and scope, so the mix here partly reflects how Michigan licenses its providers.
Just over half of the licensed therapists here — 63% — hold the same licence, physical therapist. Where one type dominates like this, the practical question is less which letters someone has than whether they work with what you are bringing to them.
The three largest concentrations are Grand Rapids (5,974), Detroit (4,983), Ann Arbor (3,749).
One caveat on reading these numbers: the registry records where a provider registered an address, not where they see clients day to day, and addresses are not always kept current. It also says nothing about whether someone is taking new clients.
How Michigan 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 Michigan. 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 CMS73.6% of registered licensed therapists in Michigan 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 Michigan
432 of 432 have their own page so far| Place | Providers | Population | Per 10k |
|---|---|---|---|
| Grand Rapids | 1,193 | 201,183 | 59.3 |
| Ann Arbor | 681 | 122,233 | |
| Plymouth | 553 | 9,164 | |
| Detroit | 544 | 649,095 | 8.4 |
| Troy | 371 | 88,733 | 41.8 |
| Kalamazoo | 370 | 72,683 | 50.9 |
| Livonia | 339 | 92,603 | 36.6 |
| Lansing | 334 | 113,884 | 29.3 |
| Royal Oak | 333 | 57,583 | 57.8 |
| Mount Clemens | 329 | 15,419 | |
| Saginaw | 281 | 42,863 | 65.6 |
| Farmington Hills | 281 | 83,291 | 33.7 |
| Southfield | 279 | 76,111 | 36.7 |
| Traverse City | 260 | 15,832 | |
| Sterling Heights | 250 | 133,931 | 18.7 |
| Flint | 239 | 79,306 | 30.1 |
| Orchard Lake Village | 237 | 2,214 | |
| Dearborn | 228 | 105,611 | 21.6 |
| Novi | 222 | 67,319 | 33.0 |
| Midland | 221 | 42,806 | 51.6 |
| Warren | 217 | 137,138 | 15.8 |
| Ypsilanti | 215 | 19,766 | 108.8 |
| Rochester Hills | 168 | 77,539 | 21.7 |
| Utica | 156 | 5,114 | |
| Bay City | 156 | 31,868 | 49.0 |
| Battle Creek | 147 | 52,021 | 28.3 |
| East Lansing | 146 | 49,355 | 29.6 |
| Brighton | 141 | 7,904 | |
| Northville | 135 | 6,013 | |
| Jackson | 130 | 31,022 | |
| Village of Clarkston | 125 | 903 | |
| Holland | 125 | 35,372 | 35.3 |
| Muskegon | 114 | 37,224 | 30.6 |
| Mount Pleasant | 113 | 20,925 | 54.0 |
| Wyoming | 110 | 78,588 | 14.0 |
| Portage | 110 | 49,862 | 22.1 |
| Grand Blanc | 110 | 7,880 | 139.6 |
| Bloomfield Hills | 109 | 4,390 | |
| Howell | 99 | 9,896 | 100.0 |
| Madison Heights | 98 | 28,297 | 34.6 |
| Fair Plain | 98 | ||
| Monroe | 94 | 20,076 | 46.8 |
| Taylor | 91 | 61,279 | 14.9 |
| Adrian | 91 | 20,191 | 45.1 |
| Wayne | 87 | 17,065 | 51.0 |
| Rochester | 87 | 12,824 | 67.8 |
| Chelsea | 83 | 5,424 | 153.0 |
| Marquette | 81 | 21,944 | 36.9 |
| Wolverine Lake | 74 | 4,455 | 166.1 |
| Dearborn Heights | 74 | 60,664 | 12.2 |
| Hartland | 71 | ||
| Pontiac | 70 | 62,077 | 11.3 |
| Port Huron | 66 | 28,273 | 23.3 |
| Wyandotte | 65 | 24,072 | 27.0 |
| St. Clair Shores | 65 | 57,872 | 11.2 |
| Okemos | 65 | ||
| Grand Haven | 64 | 11,038 | 58.0 |
| Fraser | 61 | 14,496 | 42.1 |
| Auburn Hills | 61 | 25,925 | 23.5 |
| Davison | 59 | 5,039 | 117.1 |
| Southgate | 57 | 28,931 | |
| Fenton | 57 | 11,774 | 48.4 |
| Village of Grosse Pointe Shores | 55 | 2,533 | |
| South Lyon | 55 | 12,107 | 45.4 |
| Lapeer | 54 | 9,201 | |
| Westland | 53 | 82,333 | 6.4 |
| Rockford | 53 | 6,313 | 84.0 |
| Petoskey | 52 | 5,772 | 90.1 |
| Niles | 51 | 11,665 | 43.7 |
| Alpena | 51 | 10,088 | 50.6 |
| Norton Shores | 50 | 25,088 | 19.9 |
| Lake Orion | 49 | 2,900 | |
| Spring Lake | 48 | 2,504 | |
| Sault Ste. Marie | 48 | 13,083 | 36.7 |
| Keego Harbor | 48 | 2,723 | |
| Grandville | 46 | 17,018 | 27.0 |
| Bingham Farms | 45 | 1,071 | |
| Caledonia | 44 | 1,778 | |
| Cadillac | 44 | 10,438 | 42.2 |
| Greenville | 43 | 9,256 | 46.5 |
| Romeo | 42 | 3,750 | 112.0 |
| Hudsonville | 42 | 7,964 | 52.7 |
| Milford | 41 | 6,520 | 62.9 |
| Allen Park | 41 | 27,445 | 14.9 |
| Grosse Pointe | 39 | 5,490 | 71.0 |
| Owosso | 38 | 14,437 | |
| Holly | 38 | 5,906 | 64.3 |
| Wayland | 37 | 4,531 | 81.7 |
| Ludington | 37 | 7,634 | |
| Saline | 36 | 9,001 | 40.0 |
| Roseville | 36 | 46,863 | 7.7 |
| Frankenmuth | 36 | 5,197 | 69.3 |
| Woodhaven | 34 | 12,503 | 27.2 |
| New Baltimore | 34 | 12,123 | 28.0 |
| Whitmore Lake | 33 | ||
| Mason | 33 | 8,264 | 39.9 |
| Zeeland | 32 | 5,637 | 56.8 |
| Riverview | 32 | 11,947 | 26.8 |
| Oak Park | 32 | 29,072 | 11.0 |
| Coldwater | 32 | 14,216 | 22.5 |
| Sylvan Lake | 31 | 1,685 | |
| Ferndale | 31 | 19,212 | 16.1 |
| Alma | 31 | 9,304 | 33.3 |
| New Haven | 30 | 6,749 | 44.5 |
| Iron Mountain | 30 | 7,469 | |
| Escanaba | 30 | 12,257 | 24.5 |
| Caro | 30 | 4,258 | 70.5 |
| Harper Woods | 29 | 14,860 | 19.5 |
| Gaylord | 29 | 4,444 | |
| Flushing | 28 | 8,175 | 34.3 |
| Big Rapids | 28 | 8,623 | 32.5 |
| Marshall | 27 | 6,800 | 39.7 |
| Jenison | 27 | ||
| Ionia | 27 | 12,208 | |
| Grosse Pointe Woods | 27 | 15,792 | 17.1 |
| Flat Rock | 27 | 10,218 | 26.4 |
| Cheboygan | 27 | 4,804 | 56.2 |
| Burton | 27 | 29,313 | 9.2 |
| Lakeport | 26 | ||
| Kentwood | 26 | 54,776 | 4.7 |
| Ishpeming | 26 | 6,205 | 41.9 |
| Romulus | 25 | 24,547 | 10.2 |
| Byron Center | 25 | ||
| Trenton | 24 | 17,849 | 13.4 |
| Holt | 24 | ||
| Grosse Pointe Farms | 24 | 9,735 | 24.7 |
| Garden City | 24 | 26,280 | 9.1 |
| Benton Harbor | 24 | 8,803 | 27.3 |
| Tawas City | 23 | 1,830 | |
| Lake Angelus | 23 | 289 | |
| Houghton | 23 | 8,560 | 26.9 |
| Dundee | 23 | 6,008 | 38.3 |
| Dexter | 23 | 4,461 | 51.6 |
| Berkley | 23 | 15,145 | 15.2 |
| West Branch | 22 | 2,370 | |
| St. Johns | 22 | 7,780 | 28.3 |
| DeWitt | 22 | 4,795 | 45.9 |
| Charlevoix | 22 | 2,325 | 94.6 |
| Three Rivers | 20 | 7,910 | 25.3 |
| Paw Paw | 20 | 3,386 | 59.1 |
| Kingsford | 20 | 5,096 | |
| Grand Ledge | 20 | 7,853 | 25.5 |
| Charlotte | 20 | 9,305 | 21.5 |
| Cedar Springs | 20 | 3,789 | 52.8 |
| Auburn | 20 | 2,039 | 98.1 |
| Allendale | 20 | ||
| Pinckney | 19 | 2,333 | 81.4 |
| Hastings | 19 | 7,490 | |
| Clawson | 19 | 11,312 | 16.8 |
| Clare | 19 | 3,318 | 57.3 |
| Marine City | 18 | 3,997 | 45.0 |
| Hillsdale | 18 | 8,002 | 22.5 |
| Gladwin | 18 | 3,140 | 57.3 |
| Spring Arbor | 17 | ||
| Plainwell | 17 | 3,722 | 45.7 |
| Oxford | 17 | 3,451 | |
| Lowell | 17 | 4,134 | 41.1 |
| Ironwood | 17 | 4,950 | 34.3 |
| Grayling | 17 | 1,969 | |
| Farmington | 17 | 11,409 | 14.9 |
| Coopersville | 17 | 4,802 | 35.4 |
| Clio | 17 | 2,478 | 68.6 |
| Newaygo | 16 | 2,547 | 62.8 |
| Manistee | 16 | 6,157 | 26.0 |
| Fennville | 16 | 1,724 | 92.8 |
| Beverly Hills | 16 | 10,449 | 15.3 |
| Belleville | 16 | 3,851 | 41.5 |
| Wixom | 15 | 17,313 | 8.7 |
| Tecumseh | 15 | 8,608 | 17.4 |
| Richmond | 15 | 5,927 | |
| Bad Axe | 15 | 2,943 | |
| Allegan | 15 | 5,127 | 29.3 |
| South Haven | 14 | 4,002 | 35.0 |
| Rogers City | 14 | 2,869 | 48.8 |
| Mattawan | 14 | 2,934 | 47.7 |
| Kingsley | 14 | 1,455 | 96.2 |
| Hart | 14 | 2,065 | 67.8 |
| Fowlerville | 14 | 2,874 | 48.7 |
| Richland | 13 | 946 | 137.4 |
| Kalkaska | 13 | 2,258 | 57.6 |
| Fremont | 13 | 4,599 | 28.3 |
| Forest Hills | 13 | ||
| Temperance | 12 | ||
| Northview | 12 | ||
| Haslett | 12 | ||
| Hancock | 12 | 4,596 | 26.1 |
| Freeland | 12 | ||
| Essexville | 12 | 3,284 | 36.5 |
| Eaton Rapids | 12 | 5,218 | 23.0 |
| Reed City | 11 | 2,528 | 43.5 |
| Rapid City | 11 | ||
| Linden | 11 | 4,186 | 26.3 |
| Harbor Springs | 11 | 1,255 | 87.6 |
| Frankfort | 11 | 1,280 | 85.9 |
| Birmingham | 11 | 21,923 | 5.0 |
| Middleville | 10 | 4,407 | 22.7 |
| Imlay City | 10 | 3,753 | 26.6 |
| Harbor Beach | 10 | 1,556 | 64.3 |
| Eastpointe | 10 | 33,814 | 3.0 |
| Watervliet | 9 | 1,720 | 52.3 |
| Swartz Creek | 9 | 5,827 | 15.4 |
| Suttons Bay | 9 | 587 | |
| Sandusky | 9 | 2,664 | |
| Milan | 9 | 5,973 | 15.1 |
| Lake City | 9 | 835 | |
| Ithaca | 9 | 2,807 | 32.1 |
| Indian River | 9 | ||
| Huntington Woods | 9 | 6,274 | 14.3 |
| Elk Rapids | 9 | 1,610 | 55.9 |
| Dowagiac | 9 | 5,725 | 15.7 |
| Coloma | 9 | 1,415 | 63.6 |
| Cass City | 9 | 2,487 | 36.2 |
| Bridgeport | 9 | ||
| Berrien Springs | 9 | 1,767 | |
| Zeba | 8 | ||
| Stevensville | 8 | 1,154 | 69.3 |
| Ortonville | 8 | 1,339 | 59.7 |
| Montague | 8 | 2,424 | 33.0 |
| Hamtramck | 8 | 27,261 | 2.9 |
| Center Line | 8 | 8,503 | 9.4 |
| Boyne City | 8 | 3,793 | 21.1 |
| Sparta | 7 | 4,255 | 16.5 |
| Schoolcraft | 7 | 1,439 | 48.6 |
| Roscommon | 7 | 992 | 70.6 |
| Ovid | 7 | 1,498 | 46.7 |
| Marysville | 7 | 9,868 | 7.1 |
| Lambertville | 7 | ||
| Gladstone | 7 | 5,189 | 13.5 |
| East Jordan | 7 | 2,243 | 31.2 |
| Croswell | 7 | 2,263 | 30.9 |
| Belding | 7 | 6,000 | 11.7 |
| Almont | 7 | 2,848 | 24.6 |
| Yale | 6 | 1,873 | 32.0 |
| Walled Lake | 6 | 7,320 | 8.2 |
| Sturgis | 6 | 10,900 | 5.5 |
| New Buffalo | 6 | 1,685 | 35.6 |
| Marlette | 6 | 1,833 | 32.7 |
| Interlochen | 6 | ||
| Hudson | 6 | 2,347 | 25.6 |
| Crystal Falls | 6 | 1,607 | 37.3 |
| Clinton | 6 | 2,481 | 24.2 |
| Carson City | 6 | 1,137 | 52.8 |
| Bellaire | 6 | 1,059 | 56.7 |
| Williamston | 5 | 3,810 | 13.1 |
| Whitehall | 5 | 3,205 | 15.6 |
| Walker | 5 | 25,881 | 1.9 |
| Vicksburg | 5 | 3,973 | 12.6 |
| St. Louis | 5 | 7,406 | 6.8 |
| St. Ignace | 5 | 2,351 | 21.3 |
| North Muskegon | 5 | 4,079 | 12.3 |
| Mount Morris | 5 | 3,086 | 16.2 |
| Manistique | 5 | 2,868 | 17.4 |
| Laurium | 5 | 1,891 | 26.4 |
| Iron River | 5 | 3,027 | 16.5 |
| Inkster | 5 | 24,959 | |
| Houghton Lake | 5 | ||
| Hazel Park | 5 | 14,937 | 3.3 |
| Grosse Pointe Park | 5 | 11,095 | 4.5 |
| Grant | 5 | 982 | 50.9 |
| Galesburg | 5 | 2,071 | 24.1 |
| Comstock Park | 5 | ||
| Birch Run | 5 | 1,540 | 32.5 |
| Springfield | 4 | 5,246 | 7.6 |
| Portland | 4 | 3,770 | 10.6 |
| Montrose | 4 | 1,700 | 23.5 |
| Melvindale | 4 | 12,325 | 3.2 |
| Lathrup Village | 4 | 4,019 | 10.0 |
| Jonesville | 4 | 2,175 | 18.4 |
| Hemlock | 4 | ||
| Grass Lake | 4 | 1,098 | 36.4 |
| Edwardsburg | 4 | 1,286 | 31.1 |
| Cassopolis | 4 | 1,707 | |
| Calumet | 4 | 688 | 58.1 |
| Bridgman | 4 | 2,040 | 19.6 |
| Blissfield | 4 | 3,262 | 12.3 |
| Au Gres | 4 | 954 | 41.9 |
| White Cloud | 3 | 1,548 | |
| Twin Lake | 3 | ||
| Sanford | 3 | 761 | 39.4 |
| Reese | 3 | 1,265 | 23.7 |
| Prudenville | 3 | ||
| Perry | 3 | 2,134 | 14.1 |
| Ontonagon | 3 | 1,264 | 23.7 |
| North Branch | 3 | 1,111 | 27.0 |
| Munising | 3 | 1,938 | 15.5 |
| Mio | 3 | ||
| Metamora | 3 | 613 | 48.9 |
| Manchester | 3 | 2,027 | 14.8 |
| Lexington | 3 | 910 | 33.0 |
| Lawton | 3 | 1,861 | 16.1 |
| Howard City | 3 | 1,923 | 15.6 |
| Harrison | 3 | 2,171 | 13.8 |
| Gobles | 3 | 830 | 36.1 |
| Eau Claire | 3 | 542 | |
| East Grand Rapids | 3 | 11,663 | 2.6 |
| Douglas | 3 | 1,411 | 21.3 |
| Dimondale | 3 | 1,183 | 25.4 |
| Deckerville | 3 | 872 | 34.4 |
| Chesaning | 3 | 2,399 | 12.5 |
| Carleton | 3 | 2,302 | 13.0 |
| Buckley | 3 | 780 | 38.5 |
| Brooklyn | 3 | 1,450 | 20.7 |
| Beulah | 3 | 312 | |
| Benzonia | 3 | 566 | |
| Baldwin | 3 | 1,025 | 29.3 |
| Algonac | 3 | 4,109 | 7.3 |
| Albion | 3 | 7,474 | 4.0 |
| Watersmeet | 2 | ||
| Tustin | 2 | 249 | 80.3 |
| Sterling | 2 | 451 | |
| Shepherd | 2 | 1,513 | 13.2 |
| Saranac | 2 | 1,386 | 14.4 |
| St. Clair | 2 | 5,833 | 3.4 |
| St. Charles | 2 | 1,941 | 10.3 |
| Rockwood | 2 | 3,132 | 6.4 |
| Powers | 2 | 375 | 53.3 |
| Otisville | 2 | 805 | 24.8 |
| Oscoda | 2 | ||
| Norway | 2 | 2,815 | 7.1 |
| Negaunee | 2 | 4,663 | |
| Nashville | 2 | 1,605 | 12.5 |
| Mohawk | 2 | ||
| Michigan Center | 2 | ||
| Mecosta | 2 | 484 | 41.3 |
| McBain | 2 | 642 | 31.2 |
| Lincoln Park | 2 | 38,529 | |
| Leslie | 2 | 1,937 | 10.3 |
| Lakeview | 2 | 1,048 | 19.1 |
| Laingsburg | 2 | 1,402 | 14.3 |
| Ida | 2 | ||
| Hubbell | 2 | ||
| Harrisville | 2 | 443 | |
| Goodrich | 2 | 2,003 | 10.0 |
| Glen Arbor | 2 | ||
| Farwell | 2 | 899 | 22.2 |
| Evart | 2 | 1,789 | 11.2 |
| Durand | 2 | 3,457 | 5.8 |
| Decatur | 2 | 1,646 | 12.2 |
| Centreville | 2 | 1,374 | |
| Cement City | 2 | 417 | 48.0 |
| Capac | 2 | 1,943 | 10.3 |
| Canadian Lakes | 2 | ||
| Buchanan | 2 | 4,143 | 4.8 |
| Breckenridge | 2 | 1,265 | 15.8 |
| Bath | 2 | ||
| Armada | 2 | 1,681 | 11.9 |
| Wolverine | 1 | 280 | 35.7 |
| Weidman | 1 | ||
| Vandalia | 1 | 327 | 30.6 |
| Unionville | 1 | 481 | 20.8 |
| Ubly | 1 | 824 | 12.1 |
| Stephenson | 1 | 793 | 12.6 |
| Stanwood | 1 | 212 | 47.2 |
| Standish | 1 | 1,449 | 6.9 |
| Springport | 1 | 821 | 12.2 |
| Shelby | 1 | 2,185 | 4.6 |
| Saugatuck | 1 | 882 | 11.3 |
| Sand Lake | 1 | 480 | 20.8 |
| Sand Lake | 1 | ||
| St. Joseph | 1 | 7,893 | 1.3 |
| Rose City | 1 | 581 | 17.2 |
| Riverdale | 1 | ||
| Rapid River | 1 | ||
| Port Sanilac | 1 | 555 | 18.0 |
| Port Austin | 1 | 649 | 15.4 |
| Pleasant Ridge | 1 | 2,592 | 3.9 |
| Pinconning | 1 | 1,176 | 8.5 |
| Pigeon | 1 | 1,180 | 8.5 |
| Pentwater | 1 | 909 | 11.0 |
| Parma | 1 | 760 | 13.2 |
| Otsego | 1 | 4,045 | 2.5 |
| Ossineke | 1 | ||
| Onsted | 1 | 1,002 | 10.0 |
| Onaway | 1 | 907 | 11.0 |
| Nunica | 1 | ||
| Napoleon | 1 | ||
| Minden City | 1 | 177 | 56.5 |
| Millington | 1 | 1,003 | 10.0 |
| Millersburg | 1 | 204 | 49.0 |
| Michigamme | 1 | ||
| Menominee | 1 | 8,175 | 1.2 |
| Memphis | 1 | 1,091 | 9.2 |
| Mayville | 1 | 904 | 11.1 |
| Martin | 1 | 395 | 25.3 |
| Mancelona | 1 | 1,399 | 7.1 |
| Luna Pier | 1 | 1,351 | 7.4 |
| Levering | 1 | ||
| Leonard | 1 | 356 | 28.1 |
| Lamont | 1 | ||
| Lake Linden | 1 | 1,041 | 9.6 |
| Lake Isabella | 1 | 1,952 | 5.1 |
| Kincheloe | 1 | ||
| Homer | 1 | 1,603 | 6.2 |
| Hillman | 1 | 666 | 15.0 |
| Highland Park | 1 | 8,248 | 1.2 |
| Hickory Corners | 1 | ||
| Hersey | 1 | 362 | 27.6 |
| Hartford | 1 | 2,448 | 4.1 |
| Hanover | 1 | 469 | 21.3 |
| Grawn | 1 | ||
| Grand Marais | 1 | ||
| Franklin | 1 | 3,134 | 3.2 |
| Ewen | 1 | ||
| Estral Beach | 1 | 413 | 24.2 |
| Elsie | 1 | 950 | 10.5 |
| Edmore | 1 | 1,274 | 7.8 |
| East Tawas | 1 | 2,662 | 3.8 |
| Dryden | 1 | 1,037 | 9.6 |
| Dollar Bay | 1 | ||
| Deerfield | 1 | 887 | 11.3 |
| Daggett | 1 | 201 | 49.8 |
| Corunna | 1 | 3,000 | 3.3 |
| Coleman | 1 | 1,252 | 8.0 |
| Climax | 1 | 737 | 13.6 |
| Clifford | 1 | 308 | 32.5 |
| Chatham | 1 | 214 | 46.7 |
| Cedar | 1 | ||
| Caseville | 1 | 637 | 15.7 |
| Byron | 1 | 525 | 19.0 |
| Brown City | 1 | 1,280 | 7.8 |
| Bronson | 1 | 2,316 | 4.3 |
| Boyne Falls | 1 | 374 | |
| Bloomingdale | 1 | 528 | 18.9 |
| Big Bay | 1 | ||
| Bergland | 1 | ||
| Beaverton | 1 | 1,217 | 8.2 |
| Bangor | 1 | 1,965 | 5.1 |
| Augusta | 1 | 843 | 11.9 |
| Ashley | 1 | 513 | 19.5 |
| Alden | 1 | ||
| Alanson | 1 | 783 | 12.8 |
| Akron | 1 | 368 | 27.2 |
50 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.