Williams joined Liverpool academy at U14 level, having previously been playing for Wrexham. On 23 September 2014, he made his first-team debut in a League Cup clash against Middlesbrough, coming on as a substitute in 79th minute for Jordan Rossiter. Williams scored in the penalty shootout. He was an unused substitute in the game against AFC Wimbledon in the third round of the FA Cup, and against Blackburn Rovers in a quarter-final of the same tournament, as well as Premier League games against Burnley and Manchester City and a UEFA Europa League clash against Turkish side Beşiktaş J.K. On 22 January 2015, he signed his first professional contract, signing a -year deal with Liverpool. In the 2016–17 season, Williams returned from his injury and was featured for the Liverpool U23 side. He did appear as an unused substitute bench in a FA Cup fourth round replay against Plymouth Argyle, which saw Liverpool win 1–0. In January transfer window of 2017, Williams was expected to leave the club on a permanent basis, with Charlton Athletic and MK Dons were among interested. Although the move never happened, Williams stayed at the club for the rest of the season; eventually, signing a contract extension. He was released by Liverpool at the end of the 2017-18 season.
Loan Spells
On 26 March 2015, Williams was loaned out to Notts County. He made his Notts County debut, where he started the whole game, in a 2–2 draw against Scunthorpe United on 28 March 2015. He went on to make eight appearances for the side, as Notts County were relegated to League Two next season. He returned to his parent club at the end of the 2014–15 season. On 10 July 2015, he joined Swindon Town on a season-long loan. Williams made his Swindon Town debut in the opening game of the season, where he set up a goal for Nathan Byrne, who went on to score a hat–trick, in a 4–1 win over Bradford City. He started out in the midfield position before moving to the defence position. However, he suffered a knee injury that saw him sidelined for the most of the season. Although he returned to training in early–2016, Manager Martin Ling hinted about terminating his loan with Swindon Town last month, though he resigned as Manager that month. After cutting his loan spell with the club in February 2016 to allow Williams heal from his knee injury, he went on to make ten appearances for Swindon Town. On 31 August 2017, Williams was loaned to Rochdale until 1 January 2018. He made his Rochdale debut, where he started the whole game and played with teammate with the same name, in a 0–0 draw against Southend United on 2 September 2017. In the EFL TrophyGroup Stage against Bury, Williams set up a goal for Ian Henderson to score the fourth goal, in a 4–0 win on 19 September 2017. He went on to make 14 appearances for Rochdale before suffering an injury that ended his loan spell at the club.
Rochdale
On 14 June 2018, he joined Rochdale on a permanent deal, signing a two-year contract. Williams' first game after signing for the club on a permanent basis came in the opening game of the season against Burton Albion, where he started the whole game, in a 2–1 win for Rochdale. During a 4–0 loss against Barnsley on 21 August 2018, the game saw three Jordan Williams playing, with two of them at Rochdale and one at Barnsley.
Williams was born in Bangor, North Wales. He is a fluent Welsh speaker, and attended Welsh-medium school Ysgol y Garnedd. In March 2016, during a Europa League match between Manchester United and Liverpool at Old Trafford, a tweet was sent from Williams' Twitter account mocking the Munich Air Disaster. Williams claimed his Twitter account had been hacked, he apologised and deleted his account. Liverpool confirmed they would look into the matter.