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