Madsen is een jeugdspeler van Gl. Rye IF en Silkeborg IF. In het seizoen 2016/17 maakte hij de overstap naar het eerste elftal van Silkeborg. Op 10 december 2016 maakte hij zijn debuut in de Superligaen in de uitwedstrijd tegen Lyngby BK. In de wedstrijd, die eindigde op 1–1, kwam hij drie minuten voor tijd Sammy Skytte vervangen.[2] Op 29 juni 2020 werd bekendgemaakt dat Madsen werd overgenomen door LASK en werd zo, voor de Oostenrijkse ploeg, de duurste inkomende transfer.[3]