Madison Township is in northwestern Columbia County, bordered by Lycoming County to the north and Montour County to the west.
According to the United States Census Bureau, the township has a total area of , of which is land and , or 0.30%, is water [REF].