At club level, Taylor played non-League football for Petersfield Town, Basingstoke Town and Farnborough Town before moving into the Football League with Barnet. He went on to play for Southampton, Fulham, Birmingham City, where he spent eight years before his release at the end of the 2010–11 season, Leeds United and Millwall. In international football, he played for Northern Ireland, qualifying for that country through his British passport which at that time, as he was born abroad, entitled him to play for any of the Home Nations.