Spring township — commute flow to neighboring towns/cities (2023)
Adamstown borough — 1 (Lower)Albany township — 3 (Lower)Alsace township — 43 (Middle)Amity township — 82 (Higher)Bally borough — 4 (Lower)Bechtelsville borough — 1 (Lower)Bern township — 157 (Higher)Bernville borough — 20 (Lower-middle)Bethel township — 24 (Lower-middle)Birdsboro borough — 55 (Upper-middle)Boyertown borough — 20 (Lower-middle)Brecknock township — 75 (Upper-middle)Caernarvon township — 21 (Lower-middle)Centerport borough — 8 (Lower)Centre township — 89 (Higher)Colebrookdale township — 24 (Lower-middle)Cumru township — 380 (Higher)District township — 10 (Lower)Douglass township — 23 (Lower-middle)Earl township — 12 (Lower-middle)Exeter township — 426 (Higher)Fleetwood borough — 48 (Upper-middle)Greenwich township — 14 (Lower-middle)Hamburg borough — 72 (Upper-middle)Heidelberg township — 47 (Middle)Hereford township — 7 (Lower)Jefferson township — 38 (Middle)Kenhorst borough — 84 (Higher)Kutztown borough — 28 (Middle)Laureldale borough — 79 (Upper-middle)Leesport borough — 36 (Middle)Lenhartsville borough — 1 (Lower)Longswamp township — 27 (Middle)Lower Alsace township — 80 (Upper-middle)Lower Heidelberg township — 303 (Higher)Lyons borough — 2 (Lower)Maidencreek township — 173 (Higher)Marion township — 25 (Middle)Maxatawny township — 17 (Lower-middle)Mohnton borough — 73 (Upper-middle)Mount Penn borough — 54 (Upper-middle)Muhlenberg township — 393 (Higher)New Morgan borough — 0 (Lower)North Heidelberg township — 15 (Lower-middle)Oley township — 39 (Middle)Ontelaunee township — 54 (Upper-middle)Penn township — 47 (Middle)Perry township — 35 (Middle)Pike township — 6 (Lower)Reading — 989 (Higher)Richmond township — 39 (Middle)Robeson township — 67 (Upper-middle)Robesonia borough — 48 (Upper-middle)Rockland township — 24 (Lower-middle)Ruscombmanor township — 76 (Upper-middle)St. Lawrence borough — 40 (Middle)Shillington borough — 183 (Higher)Shoemakersville borough — 17 (Lower-middle)Sinking Spring borough — 198 (Higher)South Heidelberg township — 212 (Higher)Tilden township — 29 (Middle)Topton borough — 10 (Lower)Tulpehocken township — 28 (Middle)Union township — 35 (Middle)Upper Bern township — 20 (Lower-middle)Upper Tulpehocken township — 9 (Lower)Washington township — 7 (Lower)Wernersville borough — 67 (Upper-middle)West Reading borough — 107 (Higher)Windsor township — 13 (Lower-middle)Womelsdorf borough — 58 (Upper-middle)Wyomissing borough — 386 (Higher)Spring township — no data (unmeasured)
Where this is
Shading: Total Jobs
Lower (0 to 10)Lower-middle (12 to 24)Middle (25 to 47)Upper-middle (48 to 80)Higher (82 to 989)No data
Each unit is shaded by its Total Jobs value and grouped into equal-count bands (quantiles) against the other units shown — lighter = lower, darker = higher. It ranks position among the units in view; it does not grade places, and the ranges shift with which units are shown.

The map is bounded to this parent geography — it shows the selected unit among its own siblings only, the same depth rule the drill-down uses. Shading ranks position on the measure among the units shown; it does not grade places.

Click a neighboring town/city to see its own commute flow.

Scroll to Top