Upper Bern township — commute flow to neighboring towns/cities (2023)
Adamstown borough — 0 (Lower-middle)Albany township — 2 (Middle)Alsace township — 2 (Middle)Amity township — 1 (Middle)Bally borough — 0 (Lower-middle)Bechtelsville borough — 0 (Lower-middle)Bern township — 21 (Higher)Bernville borough — 0 (Lower-middle)Bethel township — 6 (Upper-middle)Birdsboro borough — 0 (Lower-middle)Boyertown borough — 2 (Middle)Brecknock township — 0 (Lower-middle)Caernarvon township — 2 (Middle)Centerport borough — 1 (Middle)Centre township — 2 (Middle)Colebrookdale township — 1 (Middle)Cumru township — 10 (Higher)District township — 0 (Lower-middle)Douglass township — 0 (Lower-middle)Earl township — 0 (Lower-middle)Exeter township — 6 (Upper-middle)Fleetwood borough — 5 (Upper-middle)Greenwich township — 1 (Middle)Hamburg borough — 42 (Higher)Heidelberg township — 3 (Upper-middle)Hereford township — 0 (Lower-middle)Jefferson township — 2 (Middle)Kenhorst borough — 1 (Middle)Kutztown borough — 3 (Upper-middle)Laureldale borough — 1 (Middle)Leesport borough — 4 (Upper-middle)Lenhartsville borough — 2 (Middle)Longswamp township — 0 (Lower-middle)Lower Alsace township — 1 (Middle)Lower Heidelberg township — 4 (Upper-middle)Lyons borough — 0 (Lower-middle)Maidencreek township — 14 (Higher)Marion township — 1 (Middle)Maxatawny township — 37 (Higher)Mohnton borough — 0 (Lower-middle)Mount Penn borough — 0 (Lower-middle)Muhlenberg township — 28 (Higher)New Morgan borough — 0 (Lower-middle)North Heidelberg township — 3 (Upper-middle)Oley township — 0 (Lower-middle)Ontelaunee township — 11 (Higher)Penn township — 3 (Upper-middle)Perry township — 17 (Higher)Pike township — 0 (Lower-middle)Reading — 34 (Higher)Richmond township — 3 (Upper-middle)Robeson township — 6 (Upper-middle)Robesonia borough — 3 (Upper-middle)Rockland township — 1 (Middle)Ruscombmanor township — 0 (Lower-middle)St. Lawrence borough — 1 (Middle)Shillington borough — 0 (Lower-middle)Shoemakersville borough — 7 (Higher)Sinking Spring borough — 2 (Middle)South Heidelberg township — 4 (Upper-middle)Spring township — 20 (Higher)Tilden township — 53 (Higher)Topton borough — 2 (Middle)Tulpehocken township — 5 (Upper-middle)Union township — 0 (Lower-middle)Upper Tulpehocken township — 0 (Lower-middle)Washington township — 0 (Lower-middle)Wernersville borough — 3 (Upper-middle)West Reading borough — 16 (Higher)Windsor township — 7 (Higher)Womelsdorf borough — 4 (Upper-middle)Wyomissing borough — 14 (Higher)Upper Bern township — no data (unmeasured)
Where this is
Shading: Total Jobs
Lower-middle (0)Middle (1 to 2)Upper-middle (3 to 6)Higher (7 to 53)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