Karl fut récruté par l'IFK Göteborg en 2003 en provenance du Jönköpings Södra IF. Il passa trois saisons au club et fut le capitaine de l'équipe vice-championne de Suède en 2005. Il fut ensuite recruté par Paul Le Guen aux Glasgow Rangers peu avant la Coupe du monde 2006 pour un contrat de 3 ans. Titulaire en défense centrale aux côtés de Julien Rodriguez sous l'ére Le Guen, il perdit ensuite sa place lors de l'arrivée de Walter Smith au profit des deux nouvelles recrues, les vétérans David Weir et Ugo Ehiogu.
En juin 2007, il quitte l'Écosse et rejoint la France et plus précisément le SM Caen, où il signe un contrat de trois ans.