Ter Avest began his football journey at SVZW Wierden before joining the Twente academy at age eleven. His leadership skills shone as he captained various youth teams. In 2013, he signed a three-year development contract with Twente.[6]
His debut for the reserve team Jong FC Twente came on 22 August 2014, against Almere City in the second-tier Eerste Divisie, securing a starting position.[7] Later that year, on 17 December, he made his first-team debut, replacing Orlando Engelaar in a cup match against De Graafschap. He officially joined Twente's squad in February 2015, marking his Eredivisie debut as a starter against Excelsior on 7 February, despite a 3–1 loss.[8]
Becoming a regular starter from the 2015–16 season onward, Ter Avest even took on the captain's role on occasions during the 2017–18 season in the absence of Stefan Thesker and Danny Holla.[9] Unfortunately, during a match against Utrecht on 25 February 2018, he sustained a fractured ankle, ending his season prematurely.[10] This injury was compounded by the team's relegation to the Eerste Divisie at the end of that season after finishing bottom of the Eredivisie.[11]
Udinese
On 15 June 2018, Ter Avest signed a four-year deal with Serie A club Udinese.[12] He made his debut for the club on 20 October 2018 during the match against Genoa, where he replaced Valon Behrami in the 63rd minute of a 2–2 draw.
After seeing reduced playing time with Udinese, he was allowed to leave on a free transfer in January 2021.[13] At that point, he had made 42 total appearances for the club.[1]
Utrecht
On 13 January 2021, Ter Avest signed a contract with Eredivisie club Utrecht until 2024, with technical director Jordy Zuidam stating: "Hidde is a player with a strong competitive mindset, great endurance, and a forward-driving ambition...With his playing style, Hidde fits perfectly with the club. We're delighted to have him on board at FC Utrecht."[14] On 16 January, he made his debut for Utrecht against Heracles Almelo, starting in a 2–0 win.[15][16] He quickly established himself as a regular starter in the team. On 30 January, he scored his first goal for the club, equalising late in a 3–3 draw against PEC Zwolle.[17] Then, on 19 February, Ter Avest contributing both a goal and an assist in a commanding 6–0 victory over Willem II.[18] Throughout his first full season with Utrecht, Ter Avest was a key player, featuring in 30 matches across all competitions.[1]
In the 2022–23 season, Ter Avest lost his starting spot to Sean Klaiber who had returned to the club from Ajax.[19] After Klaiber's move to Brøndby on 1 September 2023, Ter Avest reclaimed his position as starting right-back in the team.[20] However, in March 2024, it was announced that his expiring contract with Utrecht would not be renewed.[21]
Oxford United
On 19 August 2024, ter Avest signed for EFL Championship club Oxford United.[22] He made his first appearance (as a substitute) in a 2–0 away defeat at Sunderland on 26 October, and scored his first goal during his full debut, a 1–0 home victory over Hull City, on 5 November.[23]
A right-back known for his strong personality, Ter Avest possesses a solid individual technique and pace. Adept in defence, he can advance play and man-mark. His prowess in aerial duels also allows versatility, enabling him to perform effectively as a centre-back.[24][25][26]