Crawford made his debut on 23 March 2010 for Southend United in their 3–0 home win over Walsall in League One, replacing Scott Spencer in the 82nd minute as a substitute. He got his first assist on 24 April 2010, away to Oldham Athletic when he crossed the ball to Jean-Yves Mvoto who scored with a header. He was given his first start on 1 May against Stockport County where he netted his first goal in professional football, the equaliser in the 75th minute. Dover Athletic signed Crawford on an initial one-month loan on 26 August. Manager, Martin Hayes said; "Harry has good pedigree. Southend have a good track record of producing good young players and this lad is highly thought of at Roots Hall." On 18 March 2011, Crawford scored his second and third goals for Southend in a 4–0 victory in a League Two match against Hereford United. On 18 May 2012, Crawford was one of eleven players to be released at the end of their contract. On 9 August 2012, Crawford signed for Dartford in the Conference National. He immediately made a good impression on the Darts fans, scoring on his debut against Tamworth. He went on to score 12 goals in his half-season spell at the club, including a hat trick against Alfreton Town and two against local rivals Ebbsfleet United on Boxing Day 2012. On 24 January 2013, Crawford signed a three-year contract with Barnet. During his second appearance, on 1 February 2013, he scored his first goal for the club, against Bristol Rovers after coming on as a substitute for Ricky Holmes. His goal came on 89 minutes, making the score 1–1, however Barnet went on to lose after conceding in the second minute of added time. Crawford re-joined Dartford on loan on 15 February 2013. Crawford was released by the Bees at the end of the 2013–14 season. He scored three goals in 40 appearances for the Bees. Crawford re-joined Dartford for a third spell on 29 July 2014. In May 2015, Crawford was released by the club following relegation to the National League South. In 2015, Crawford played for Boreham Wood and St Albans City before joining Dover Athletic on 27 January 2016. Crawford joined Welling United for the 2016–17 season. He then joined Hampton & Richmond Borough for 2017–18. Crawford suffered an injury during the season and returned to football in February 2019 when he joined Bedfont Sports, scoring twice on his debut. He joined Kings Langley for the 2019–20 season.