Born in Nottingham, Nottinghamshire, O'Connor started his career at Ilkeston Town before moving to Third Division side Scunthorpe United on 12 December 2002.
[5] Grays Athletic announced the signing of O'Connor on 5 January 2007,[6] and he made his debut the following day against Southport in the Conference National.
[12] In July 2012, O'Connor was reunited with former Rushden & Diamonds manager Justin Edinburgh when he signed for Newport County.
[20] He made his Stevenage debut the following day on 16 January 2016, playing 81 minutes in a 3–2 away loss against Plymouth Argyle.
[21] On 1 February 2016, he secured a permanent move to Stevenage after he had his contract cancelled by Forest Green by mutual consent.
[25] It was confirmed on 15 July 2020, that O'Connor had signed for Southern League Premier Division Central side Tamworth.
[26] He made his debut for Tamworth on 29 September 2020 in a 2–1 home victory over Barwell, coming on as a 78th minute substitute for Gerry McDonagh.