Nikolaou, dessen Vater Grieche[1] und dessen Mutter Deutsche ist,[2] begann in seiner Jugend beim TB 1906 Witterschlick, dem VfL Rheinbach und dem Bonner SC, bevor er 2006 in die Jugend zum 1. FC Köln wechselte. Mit der U17 des Vereins bestritt er 19 Spiele in der B-Junioren Bundesliga West, mit der U19 spielte er zwischen 2010 und 2012 in der A-Junioren Bundesliga West. 2012 bekam er einen Vertrag in Köln und spielte ab der Saison 2012/13 in der zweiten Mannschaft in der Fußball-Regionalliga West und bestritt insgesamt 92 Spiele, in denen er sechs Tore erzielte.
Zur Saison 2015/16 wechselte er in die 3. Liga zum FC Rot-Weiß Erfurt[3][4] und unterschrieb dort einen Zweijahresvertrag mit Option auf ein weiteres Jahr.[5] Sein Pflichtspieldebüt gab er am sechsten Spieltag gegen die zweite Mannschaft des VfB Stuttgart. Sein erstes Tor erzielte er am 27. Spieltag gegen Erzgebirge Aue. Insgesamt bestritt er in seiner ersten Saison 29 der 38 Saisonspiele.
Nach zwei Jahren in Erfurt wechselte Nikolaou zur Saison 2017/18 zum Drittligisten Würzburger Kickers, wo er einen Zweijahresvertrag erhielt.[6]
Ein Jahr darauf wechselte er zur Saison 2018/19 zum Zweitligisten Dynamo Dresden, wo er einen Dreijahresvertrag erhielt.[7] Mit den Dresdnern stieg Nikolaou aus der zweiten deutschen Bundesliga ab. Am 13. Juli 2020 wechselte er zum Zweitligaaufsteiger Eintracht Braunschweig, wo Jannis Nikolaou einen Vertrag bis 2023 unterschrieb.[8]