Stewart started his career with the Swindon Town youth squad before moving to Weymouth in 2006. His Weymouth debut came on 18 September 2007 against Rushden & Diamonds in a 2–1 defeat; he was 18 at the time. His first clean sheet was against Northwich Victoriatwo weeks later. He spent two years at Weymouth before leaving in 2008 to join Portsmouth and spent time training with them. In 2010 Stewart signed for Bournemouth as their second choice goalkeeper. Stewart's Bournemouth and Football League debut came on 20 November 2010 when he came on as a 78th-minute substitute for first choice goalkeeper Shwan Jalal in a 2–2 away draw with Leyton Orient. On 11 April 2011, Stewart was sacked by Bournemouth following further misconduct after an initial 2-week suspension for missing training and damaging hotel rooms. In early July 2011, it was confirmed that Stewart's former manager Eddie Howe had taken him on trial at Burnley, and confirmed that he would most likely become third choice keeper at the Lancashire club. On 2 August, it was announced that Stewart will sign a 1-year contract with the Clarets and would most likely play in the reserve squad. On 2 March 2012, he joined Conference National side Alfreton Townon loan until the end of the season. On 28 April 2012, Stewart returned to Burnley and was an un-used Substitute in their 1–1 draw with Bristol City. On 31 August 2012, Stewart re-signed for Football Conference side Alfreton Town on loan until January 2013. Having made 18 appearances he returned to Burnley on 1 January after his loan at Alfreton finished. In May 2013, Stewart was released after two years at Burnley following the expiry of his contract. In October 2013, Stewart signed for Northern Premier League side Worksop Town on a free transfer. In June 2014, he re-joined Alfreton Town on a one-year contract. In October 2014, Jon re-registered himself with Worksop Town and kept a clean sheet in the first appearance of his new spell in a 3-0 FA Vase victory away at Long Eaton United. On 1 June 2015, Jon joined Bradford Park Avenue A.F.C. as a free signing. Stewart signed for Northern Premier League side Gainsborough Trinity in May 2018.