Freudenberg is located in the historic Siegerland in a hilly low mountain range between 243 and 505 m above sea level. Most of the landscape belongs to the Freudenberger Bergland, which in turn is part of the Siegerland natural area. The southern part of the city belongs to the Giebelwald mountain range, which also includes the 527 m high Giebelberg. Although its peak is in the Niederfischbach area, its slope on the border with Rhineland-Palatinate forms the highest point in Freudenberg's urban area. The 17 districts are spread over an area of approx. 55 km², which consists of approx. 2/3 of deciduous and spruce forest.
The three longest rivers in the city are the Asdorf, the Fischbach and the Alche. The approximately 6.5 km long Fischbach flows west of Niederndorf into the Asdorf. This in turn flows into the Sieg after 8.6 km in the city area and a total length of 20 km near Kirchen. The Alche has its source north of Bühl near the border with the district of Olpe and flows about 5 km in the city area before the river flows via Seelbach to Siegen and there into the Sieg.