Für die schwedische Nationalmannschaft bestritt Karlsson 180 Spiele, in denen er 81 Tore erzielte. Er nahm mit der Nationalmannschaft an den Europameisterschaften 2008, 2010, 2012 und 2014, der Handball-Weltmeisterschaft 2011 und an den Olympischen Spielen 2012 in London teil, bei denen er die Silbermedaille gewann. Weiterhin nahm er an den Olympischen Spielen 2016 in Rio de Janeiro teil. Bei der EM 2014 wurde er als "Bester Deckungsspieler" ausgezeichnet.