Han har tidligere også spilt for de svenske klubbene IFK Mariestad og IFK Göteborg. Den 13. juni 2013 signerte Karlsson en fireårs kontrakt med Sunderland.