Mason started his career with a short spell with Southampton's Academy. He then joined Barnet's youth side, and was signed up with the first team squad. After spending two years with Barnet, he signed for AFC Wimbledon where he helped them gain promotion and win the Conference South championship. He scored his debut league goal in his third appearance as a substitute on 16 August 2008 in a 3–1 home victory over Bognor Regis Town. In December 2008 he was loaned to Northwood. After promotion he was later released and joined Maidenhead United. This was short lived due to lack of playing time and he later joined Bishops Stortford. He signed for Chesham United on 10 August 2011 making 2 appearances, before signing for Haringey Borough on 20 September 2011 making 10 appearances and scoring 2. He left Haringey Borough by mutual consent and signed for Isthmian League club Canvey Island on 23 January 2012, With Canvey Island he won the Essex Senior Cup, beating Dagenham & Redbridgeon penalties in the semi final and Colchester United 1–0 in the final. Canvey Island won the trophy without conceding a goal throughout the competition. In January 2013 he was on trial with Belgium side Union St. Gilloise but failed to agree terms. In June 2013 he joined Wingate & Finchley and made his debut on 10 August 2013 in a 4–0 victory over Carshalton Athletic. On 26 October 2013, Mason opened his goalscoring account for Wingate & Finchley when he struck the opening goal in a 3–0 home victory over Bognor Regis Town. Mason made his final appearance for the club in a 1–0 home defeat to Leiston on 18 January 2014. In July 2014 he joined Arlesey Town and scored on his league debut on 9 August 2014 in a 1–0 victory over Dorchester Town. Mason left Arlesey Town in December 2014 and joined Conference North sideLowestoft Town, where he spent two seasons. In the 2016–17 season Mason briefly joined Concord Rangers before joining Cambridge City. He then signed for Ware for the rest of the season, and stayed on into the following season. Mason played in an Alan Turvey Trophy game for Enfield Town in August 2018. In February 2019 Mason started a Berks & Bucks Senior Cup game for Maidenhead against Aylesbury United. Four days later he was an unused substitute for their National League win over Leyton Orient. Mason joined Hayes & Yeading United at the start of the 2019–20 season.