Karničnik begon zijn carrière bij Radlje ob Dravi. In 2015 tekende hij bij PrvaLiga-club NK Maribor, waar hij voornamelijk voor het reserveteam speelde. Na twee seizoenen bij Maribor B, maakte hij in mei 2017 zijn enige optreden voor het eerste team. In juli 2017 ging hij naar de Sloveense Tweede Liga-club NŠ Mura, waar hij aan het einde van zijn eerste seizoen promotie naar de PrvaLiga behaalde. In het seizoen 2020–21 hielp hij Mura de eerste landskampioenschap in hun geschiedenis te winnen.
In januari 2022 verhuisde Karničnik naar de Bulgaarse kampioen PFK Ludogorets, waar hij de nationale titel won maar vanwege een gebrek aan speeltijd in de zomer van 2022 bijna naar Lillestrøm SK in Noorwegen ging. Deze transfer werd geannuleerd door administratieve problemen. Vervolgens keerde hij in de eerste helft van het seizoen 2022–23 terug naar Slovenië en sloot hij zich op huurbasis aan bij NK Celje, met de mogelijkheid om de transfer permanent te maken.
Karničnik maakte zijn debuut voor het Sloveense nationale team op 8 oktober 2021 in een WK-kwalificatiewedstrijd tegen Malta. Zijn eerste goal maakte hij tegen San Marino. Ook scoorde Karničnik op het EK voetbal 2024 in de tweede groepswedstrijd de 1–0 tegen Servië. Slovenië werd in de achtste finales na strafschoppen uitgeschakeld door Portugal.