Completare la seguente frase: Il 13 settembre 2018, Karlsson (insieme a Francis Perron) è stato scambiato con i San Jose Sharks in cambio di Chris Tierney, Dylan DeMelo, Josh Norris, Rūdolfs Balcers, la prima scelta degli Sharks nel 2020, la seconda scelta nel
2019 e una scelta condizionale del secondo turno nel 2021. Ha segnato il suo primo gol con gli Sharks il 18 novembre in una vittoria per 4 a 0 contro i St. Louis Blues. Dopo un lento inizio di stagione, Karlsson è diventato il quinto difensore nella storia della lega ad avere almeno un assist in 14 partite consecutive dopo una vittoria di 7 a 2 sugli Edmonton Oilers l'8 gennaio 2019. Il 23 dicembre, Karlsson è stato sospeso per la prima volta nella sua carriera per due partite per un assegno illegale alla testa del giocatore dei Los Angeles Kings Austin Wagner. Un infortunio all'inguine portò Karlsson a perdere molte partite verso la fine della stagione prima di tornare per l'ultima partita della stagione contro il Colorado Avalanche. Finì la stagione con 45 punti in 53 partite, il suo punteggio più basso dalla stagione 2012-13. Karlsson ha aiutato San Jose a raggiungere le finali della Western Conference durante i playoff del 2019, sebbene abbia subito un altro infortunio all'inguine in una partita contro i St. Louis Blues, che gli ha fatto perdere l'ultima partita dei playoff di San Jose quando la squadra ha perso 5-1 nella sesta partita. Finì i playoff con 16 punti in 19 partite. Il 31 maggio, ha subito un intervento chirurgico all'inguine.