Early career Wilson began his career with
Sunderland in 2006, earning a professional contract in 2010. He was sent on loan to
Harrogate Town in 2013, playing three times. Wilson was sent out on loan to
Gateshead and
Chesterfield, failing to make an appearance for either and was released by Sunderland in the summer of 2013. After leaving Sunderland, Wilson joined
Cambridge United on a non-contract basis on 9 August 2013. He joined
Accrington Stanley on 27 August 2013, and made his professional debut on 3 September 2013 in a 1–0 defeat against
Crewe Alexandra in the
Football League Trophy. Wilson left Stanley after a single
Football League Trophy appearance for the side in November 2013; his contract was terminated by mutual consent.
Cardiff City Wilson joined
Cardiff City in the same month. On 7 July 2014, he played 10 minutes as a midfielder, against
Carmarthen Town in a friendly. he featured on the bench several times during the 2014–15 season as well as making a number of under-21 appearances. The following season, Wilson signed a new contract, keeping him in South Wales until 2017. He made his Cardiff debut against
AFC Wimbledon on 11 August 2015, in the
League Cup. Two months later, Wilson joined AFC Wimbledon on an emergency one-month loan deal. Wilson was signed as a short-term replacement for the injured first choice keeper
James Shea. He made his Wimbledon debut on the same day he was signed in a 4–3
League Two away win against
Accrington Stanley. However, having let in a goal from a speculative long free-kick taken by
Jerome Okimo from inside his own half during a 2–1 defeat to
Stevenage, Wilson became embroiled in a
social media row with Wimbledon supporters after they criticised his performance on the website
Twitter. His loan spell was terminated early by Wimbledon on 14 December 2015. His league debut for Cardiff City came on 27 August 2016, where he played in a 1–0 loss to
Reading, after signing a two-year contract extension. Having not made an appearance for Cardiff since September 2016, Wilson then joined
League One side
Rochdale on loan for the remainder of the 2016–17 season. At the start of the following season, Wilson joined
Oldham Athletic on loan until 1 January 2018. On 31 January 2018, he was then loaned to non-league
Telford United, making 17 league appearances.
Bradford City Wilson signed for
Bradford City in July 2018. In May 2019, following Bradford City's relegation to League Two, it was announced that he would leave the club upon the expiry of his contract on 30 June 2019. He was one of eleven players to be released.
Coventry City In May 2019, Wilson agreed a three-year deal with Coventry City, which began in July 2019. He spent the 2019–20 season acting as back-up to first-choice goalkeeper
Marko Marosi, and was limited to playing in cup competitions. Subsequently, in Marosi's absence, he went on to start Coventry's next five matches. ahead of the 2021–22 season, Wilson reverted to the role of substitute keeper as the club mounted a play-off push over the course of the campaign. Wilson did however play the final three matches of the season and in the first of which he saved a last minute penalty to ensure a point and a 0–0 draw in an away match with
West Bromwich Albion After Moore made several costly errors in the first three matches of the
2022–23 season, Wilson regained his starting berth and played in every league match after. On 20 January 2023, Wilson signed a new two-and-a-half-year contract keeping him at the club until 2025. On 19 April 2023, he scored a 95th minute equaliser from a corner to secure a 1–1 away draw against fellow play-off rivals
Blackburn Rovers, becoming the first Sky Blues keeper to score a goal from open play since club legend
Steve Ogrizovic in 1986. Wilson ended the campaign with a
EFL Golden Glove-winning 20 clean sheets in 43 league starts, adding two more shut-outs in the Championship playoffs, and was named to the Championship Team of the Season. Following a strong previous campaign Wilson began the 2023–24 season as the club's first choice goalkeeper, however he eventually lost his place in the side to summer arrival
Brad Collins and reverted to substitute keeper. ==Career statistics==