Dico Koppers begon zijn voetbalcarrière bij amateurclub SCH '44 uit Harmelen. Hij speelde hier als aanvaller en werd vervolgens gescout door AFC Ajax. Onder jeugdtrainer Sonny Silooy bleek echter snel dat Koppers in de verdediging beter tot zijn recht kwam. Uiteindelijk werd hij op de linksbackpositie geposteerd. Op 23 oktober2011 maakte Koppers zijn debuut voor de hoofdmacht van Ajax in een thuiswedstrijd tegen aartsrivaal Feyenoord.
Verhuur aan ADO Den Haag
Op 31 januari2013, de slotdag van de wintertransferperiode, werd bekendgemaakt dat Koppers voor een half jaar zou worden verhuurd aan ADO Den Haag.[1] Bij ADO Den Haag kreeg Koppers rugnummer 2. Op 2 februari debuteerde Koppers op de linksbackpositie bij ADO Den Haag; zijn eerste wedstrijd voor ADO verloor hij met 7–0 op bezoek bij PSV Eindhoven. In totaal kwam Koppers in zijn verhuurperiode tot veertien wedstrijden voor ADO Den Haag.
Terugkeer bij AFC Ajax
Hoewel ADO graag door zou willen met Koppers, keerde de verdediger terug naar Ajax. De landskampioen verlangde een transfersom voor de linksback, welke ADO niet bereid was te betalen. Tijdens de voorbereiding op het seizoen 2013/14 werd Dico Koppers door trainer Frank de Boer niet uitgenodigd voor het jaarlijkse trainingskamp in De Lutte. Koppers, die in de belangstelling zou staan van FC Twente, moest zich melden bij Jong Ajax.
Koppers tekende op 24 juni 2015 een tweejarig contract bij Willem II, waar hij als vervanger van de naar Ajax teruggekeerde Mitchell Dijks werd aangetrokken.[3] Hiervoor maakte hij op 11 februari 2017 zijn eerste doelpunt in het betaald voetbal. Hij maakte die dag de 0–1 in een met 0–2 gewonnen competitiewedstrijd uit bij Vitesse. Koppers maakte twee weken later zijn tweede, ditmaal de 0–1 in een met 0–2 gewonnen competitiewedstrijd uit bij Excelsior.
PEC Zwolle
Nadat zijn contract bij Willem II niet werd verlengd, tekende hij op 23 juni 2017 een tweejarig contract bij PEC Zwolle.[4] Hij tekende op die zomer een éénjarig contract bij Almere City FC.[5]