Born in Kettering, Northamptonshire, Woods joined Manchester United from Cambridge United in July 2007 after trials with a host of Premier League sides, including Arsenal. Described by Manchester United's under-18 coach Paul McGuinness as "a strong, brave goalkeeper with a strong personality", he made his only appearance for Manchester United in a pre-season friendly against Aberdeen. His final days at Old Trafford were hampered with injuries and he was released in the summer of 2008.
Woods joined Doncaster Rovers on a free transfer on 26 March 2009, signing a contract which would end at the end of 2009–10 season. He made his professional debut one month later on 25 April 2009, when he replaced Neil Sullivan in the final minute of a 2–0 victory against Crystal Palace. Woods made his full debut in Doncaster Rovers' home game against Burnley on 1 February 2011 and went on to supplant Sullivan as first choice goalkeeper for the remainder of the 2010–11 season.
Having started sporadically started in the 2011–12, Woods became first-choice goalkeeper in 2012–13 as Doncaster returned to League One following relegation from the Championship. However, despite playing 49 of 53 games as Doncaster took the League One title, he was released at the end of the season.
Having trained with the club since the previous month, Woods signed a one-year deal with Championship side Watford on 9 September 2013.
After one season with Watford, Woods signed for League One side Leyton Orient on 17 July 2014 on a two-year deal. After 17 league appearances for Orient during the 2014–15 season, he found himself as number two behind Alex Cisak. On 1 September 2015, Woods went on loan with Scottish club Ross County until January 2016. In May 2016, he was released from Leyton Orient when it was announced that he would not be retained when his contract expired.
Woods arrived on loan at Ross County from Leyton Orient on 1 September 2015, and made his debut off the bench in a 2–1 loss against rivals Inverness Caledonian Thistle in Dingwall. His first full game was in a 2–0 win against second placed Aberdeen. After an injury for Scott Fox against Dundee United, Woods started in the Scottish League Cup Final against Hibernian on 13 March 2016. Ross County won 2–1 with Woods playing a pivotal role in the game, denying Hibernian player Liam Fontaine an equalising goal in injury time.
Woods signed for Hamilton Academical in July 2016. He made his debut on 15 October 2016, in a 2–2 draw away to Partick Thistle.
Having previously played Victory Shield football for England at under-16 level, Woods made his debut for the England under-18 side on 20 November 2007 as a substitute for Alex Smithies during a 2–0 friendly win over Ghana.As of 16 September 2017.
League One: 2012–13
Scottish League Cup: 2015-16