After progressing through Swansea City's Academy, Cornell was included in Swansea's senior squad for their 2008 pre-season tour of Spain. However the 17-year old's progress was halted when he suffered a serious wrist injury on tour. Later that season, Cornell was called up to the first team bench for Swansea's fifth round FA Cup match against Fulham after loan signing Dimitrios Konstantopoulos was unable to extend his stay at the club. Ten days later, Cornell was included again on Swansea's bench for the Swans FA Cup fifth round replay against Fulham. After impressing manager Roberto Martínez, Cornell was installed as Dorus de Vries' understudy for the rest of the 2008–09 season but made no further appearances in Swansea's remaining matchday squads.
Cornell made his professional debut for Swansea on 25 August 2009 when he was named in the starting line-up for the League Cup match against Scunthorpe United. In February 2010, Cornell signed a new three-and-a-half year contract with Swansea to keep him at the club until July 2013. The 2009–10 season saw Cornell included on the bench for 45 of Swansea's 46 Football League Championship games.
Following loan spells at Port Talbot Town and Hereford United, Cornell returned to Swansea for the 2012–13 season as third choice goalkeeper. In September 2012, Cornell signed a new three-year deal, keeping him at the club until July 2015. Due to injuries to Michel Vorm and Gerhard Tremmel, Cornell was included on the bench on 14 occasions for Swansea during the season.
On 28 May 2015 Swansea City confirmed that Cornell had been released from the club.
In the 2010–11 season, Cornell fell down the pecking order at Swansea following the signing of Yves Ma-Kalambay as cover for Dorus de Vries and was loaned out to Welsh Premier League side Port Talbot Town during the second half of the season to gain first team experience. Cornell made 14 appearances for Port Talbot, keeping 5 clean sheets.
After Swansea's promotion to the Premier League, Cornell's opportunities were further limited. In August 2011 Football League Two side Hereford United signed Cornell on an initial one-month loan deal as cover for Adam Bartlett. After some impressive performances, Cornell's loan was extended by Hereford until the end of the 2011–12 season. Cornell made 27 appearances in all competitions for Hereford.
On 1 July 2013, Cornell joined St Mirren on a season-long loan. Cornell made 6 appearances in all competitions for St Mirren before his loan was cancelled in December 2013.
On 17 March 2015, Cornell joined Portsmouth on a one-month loan deal.
Following his release from Swansea City, Cornell joined League One team Oldham Athletic in July 2015 on a one-year contract with the option of a second.
In June 2016 Cornell joined Northampton Town on a two year contract.
Cornell made his debut for the Wales under-17 side on 25 March 2007, in a 3–0 defeat to Belarus, and went on to win five caps at under-17 level, his last coming on 6 October 2007 in a 2–2 draw with Spain in the qualifying round of the 2008 UEFA European Under-17 Football Championship. In August 2009, he received his first call-up to the Wales under-21 side to face Italy, but remained on the bench.
In November 2009, he made his debut for the Wales under-19 side, playing in consecutive defeats to Portugal and Spain in the qualifying round of the 2010 UEFA European Under-19 Football Championship. The day after, Cornell was handed a shock call-up to the Wales senior squad, for their friendly match against Scotland due to the playing commitments of Owain Fôn Williams, and Lewis Price, and an injury to Boaz Myhill. Cornell however was not included in the matchday squad.
Cornell made his debut for the Wales under-21 side on 18 May 2010 in a 1–0 defeat to Austria under-21's.
Cornell was called up to the Wales senior squad again in October 2010 for the UEFA Euro 2012 qualifying match against Switzerland. He was an unused substitute as Wales lost 4–1.As of match played 16 September 2017