Skip to content
Therapy Index US · federal registry

Physical & Occupational Therapy in Michigan

Physical therapists and occupational therapists registered with a practice address in this area, including their board-recognised specialty areas.

16,161
Registered providers
574
Places with providers
9th
National rank
of 56
3
Licence types

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.

median 16.1 0 70.6 providers per 10,000 residents · 418 places in Michigan
Distribution across 418 places in Michigan.

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 year

Each 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.

02.1k4.1k200820172026
New registrations per year. licensed therapists in Michigan. Annual registrations in 2025 were 2% lower than in 2008. The final bar is faded because 2026 is still in progress. Starts at 2008 on purpose. The NPI system launched in 2006– 2007 and the whole profession registered at once, so those two years are an artefact of the rollout rather than a measure of anything. Including them would make the following year look like a collapse.

Who they are

self-reported to CMS

73.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 code
The highest-count ZIP codes for licensed therapists in Michigan. Circle position is the ZIP code centroid, not a street address.

By 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.