Sachverhalt: A. Gegen X._ stellten die A._ AG, die B._ AG und der Verein C._ je einzeln Strafantrag wegen Widerhandlung gegen das Bundesgesetz vom 19. Dezember 1986 gegen den unlauteren Wettbewerb (UWG; SR 241), die B._ AG zudem wegen Urkundenfälschung. Die Staatsanwaltschaft verfügte am 17. November 2016 die Nichtanhandnahme eines Verfahrens in Bezug auf die Strafanträge der A._ AG und der B._ AG. Hinsichtlich des Strafantrags des Vereins C._ verfügte sie am 21. Dezember 2016 die Einstellung des Strafverfahrens. In beiden Verfügungen auferlegte die Staatsanwaltschaft X._ die Kosten des Verfahrens. B. X._ erhob am 2. Dezember 2016 Beschwerde gegen die Verfügung der Staatsanwaltschaft vom 17. November 2016 und am 13. Januar 2017 gegen die Verfügung vom 21. Dezember 2016. In beiden Beschwerden beantragte X._, die Kosten der Strafuntersuchung seien vom Kanton Schwyz zu tragen. Das Kantonsgericht Schwyz vereinigte die Verfahren und reduzierte die Kosten für die Nichtanhandnahmeverfügung vom 17. November 2016 auf Fr. 600.--; im Übrigen wies es die Beschwerden ab, soweit es darauf eintrat. C. X._ führt Beschwerde in Strafsachen. Er beantragt, er sei von den Kosten der Untersuchung vollständig zu befreien, soweit keine Rückweisung an die Vorinstanz erfolge. Das Kantonsgericht beantragt, die Beschwerde sei abzuweisen. Die Oberstaatsanwaltschaft des Kantons Schwyz verzichtet auf eine Vernehmlassung. D. Das Bundesgericht hat die Sache am 31. Januar 2019 öffentlich beraten.