According to the United States Census Bureau, the township has a total area of , of which all is land except for of water surface, or 0.11% of the township's total area. It is in the Delaware River watershed and is drained by Martins Creek, except for a small area in the southeast drained by Oughoughton Creek. Its northwest corner is located on Blue Mountain. Its villages include Ackermanville, Factoryville, Flicksville, and Richmond. Its numbered routes include 191, 512, and 611.