Born in Heywood, Greater Manchester, Tunnicliffe was first scouted by Manchester United at the age of nine, while playing for local side Roach Dynamos. He progressed through the Manchester United academy and signed as a scholar in July 2009. He turned professional in December the same year. Tunnicliffe was a "key performer" as the United under-18 side won the FA Youth Cup in 2011. His performances that season earned him the club's Jimmy Murphy Young Player of the Year award.
Peterborough United (loan)
On 1 July 2011, Manchester United agreed for Tunnicliffe to spend a six-month loan spell at Peterborough United, alongside teammate Scott Wootton. He made his debut in the opening game of the season on 6 August in a 2–1 home win over Crystal Palace, coming on as a substitute for Lee Frecklington in the 87th minute. He then made his first start in a League Cup game against Stevenage and set up the opening goal for teammate David Ball.
Return to Manchester United
After returning from the loan spell at Peterborough United, Tunnicliffe was a regular in the Reserves and helped the team win two trophies at the end of the campaign, scoring his first goal for Warren Joyce's team at Chelsea. Tunnicliffe made his senior Manchester United debut on 26 September 2012, when he came on as a substitute in the 2–1 League Cup win over Newcastle United; he came on in the 77th minute for Marnick Vermijl to win his father a bet that he had made 10 years earlier, with a return of £10,000.
Barnsley (loan)
On 21 February 2013, Barnsley signed Tunnicliffe on a 28-day loan after Scott Golbourne was ruled out for the rest of the season following knee surgery.
Ipswich Town (loan)
On 26 July 2013, Tunnicliffe joined Ipswich Town on a six-month loan. He was a regular in the Ipswich side throughout the first half of the 2013–14 season, but although manager Mick McCarthy expressed an interest in extending Tunnicliffe's loan deal, Tunnicliffe returned to Manchester United in January 2014.
Fulham
After just two appearances for the Manchester United first team, Tunnicliffe joined Fulham for an undisclosed fee on 31 January 2014, along with fellow Manchester United reserve midfielder Larnell Cole. There he was reunited with former Manchester United coach René Meulensteen, then in charge of Fulham. He made his debut for Fulham in a 2–2 draw against his former club Manchester United nine days later. After Meulensteen's sacking as Fulham manager, Tunnicliffe and Cole were deemed by Meulensteen's successor Felix Magath to be surplus to requirements at the club, despite being played in every match eligible under Meulensteen. On 25 February 2014, just 25 days after signing for Fulham, Tunnicliffe joined Wigan Athletic on loan until the end of the season as cover for the injured Ben Watson. On 10 April, it was reported that Wigan manager Uwe Rösler had attempted to terminate Tunnicliffe's loan but Fulham refused to take the player back. On 1 September 2014, Tunnicliffe joined Blackburn Rovers on a season-long loan deal. On 1 January 2015, he was called by his parent club thus ending the loan deal. Tunnicliffe was given a two-match ban for the start of the 2015–16 season, a £5,000 fine and ordered to take an educational course after calling Middlesbrough's Patrick Bamford a "sausage boy" over Twitter.
Millwall
On 29 July 2017, Tunnicliffe signed with Millwall on a two-year deal following his release from Fulham. After appearing for 31 times in the 2018–2019 season, he was released by Millwall in July 2019.
Luton Town
On 1 July 2019, Tunnicliffe became Luton Town's third signing since winning promotion to the Championship.