St. Stephens is located in northern Catawba County at (35.766578, -81.277342) [REF].
According to the United States Census Bureau, the CDP has a total area of , of which is land and , or 4.09%, is water.