Hvidt started his football career as a four-year-old at local football club Kolind/Perstrup IF.[1] There he played until he joined the AGF youth academy as an under-12 player in 2012.[4] In March 2015, he signed his first contract valid until the summer of 2017.[4] At that time he was part of the club's under-17 team in the U17 League, despite still being eligible for under-15 football.[4]
On 3 July 2016, he signed a three-year extension to his contract with AGF, keeping him at the club until summer 2019.[5] Just eleven days later, it was announced that Hvidt would become a permanent part of the club's first team squad at the age of 16.[6] He made his unofficial debut for AGF in a training match against Lyngby Boldklub a few days before his promotion as a permanent player in the Superliga squad, where he was replaced with about 10 minutes left.[6]
The official debut for AGF in the Superliga came on 24 April 2017, when he was substituted in the 82nd minute to replace Theódór Elmar Bjarnason in a 4–0 victory at home over AaB.[7]
On 12 February 2021, Hvidt signed an extension of his contract with AGF, which was due to expire at the end of 2021. Thereafter, the parties had were committed to each other until the end of 2023.[8]
On June 15, 2024, it was confirmed, that Hvidt had signed a deal until June 2027 with newly promoted Danish 1st Division side Esbjerg fB.[9] In August 2024, Hvidt suffered an anterior cruciate ligament injury for the third time in his career, which meant he had to sit out for another year. He previously sat out with the same injury from August 2021 to August 2022 and from January 2023 to February 2024.[10]
International career
Hvidt made his international debut on 6 October 2015 at under-16 level in a friendly match against Hungary. He played the entire match as Denmark lost 0–2 at home.[11] He played four more matches for the under-16 national team,[12] before making his debut for the under-17 team on 3 October 2016 in a match against Cyprus at the Nordic Under-17 Football Championship, which Denmark won 4–1.[13][14]