Gretzenbach é uma comuna da Suíça, no Cantão Soleura, com cerca de 2.447 habitantes. Estende-se por uma área de 5,79 km², de densidade populacional de 423 hab/km². Confina com as seguintes comunas: Däniken, Kölliken (AG), Niedergösgen, Oberentfelden (AG), Safenwil (AG), Schönenwerd, Walterswil.
A língua oficial nesta comuna é o Alemão.