Hansson kwam uit voor Helsingborgs IF in de Allsvenskan. Hij speelde sinds 2009 148 duels en maakte één doelpunt. Met Helsingborgs werd hij in 2011 landskampioen en won hij de Zweedse voetbalbeker in 2010 en 2011 en de Supercupen in 2011 en 2012. In 2008 werd Hansson verhuurd aan Ängelholms FF waarvoor hij 30 keer in actie kwam.
Op 25 januari 2016 tekende Hansson een contract voor 1,5 jaar bij Feyenoord. Hij is gehaald als (tijdelijke) vervanger van de zwaargeblesseerde reservedoelman Warner Hahn. Bij Feyenoord ging hij spelen met rugnummer 23. In zijn eerste half jaar in De Kuip kwam hij één keer in actie; in een oefenduel tegen Sparta Rotterdam verving hij Kenneth Vermeer, die bij de selectie van het Nederlands elftal zat. Vermeer scheurde op 5 juli 2016 zijn achillespees op de training. Feyenoord haalde kort daarna Brad Jones als doelman en Hansson moest met Jones strijden om een plaats in het doel bij Feyenoord. Hansson maakte zijn officiële debuut voor Feyenoord tijdens het met 0-1 verloren duel om de Johan Cruijff Schaal, tegen PSV. Vanwege een blessure van Jones maakte Hansson in november 2016 ook zijn competitiedebuut voor Feyenoord, in een wedstrijd uit tegen Go Ahead Eagles. Ook deze wedstrijd werd met 1-0 verloren. Na de terugkeer van Vermeer raakte Hansson buiten beeld en vanaf eind maart 2017 was hij ook op de bank gepasseerd, door Justin Bijlow. Na afloop van het seizoen 2016-2017 werd Hanssons contract bij Feyenoord niet verlengd en verliet hij de club en keerde vervolgens terug bij Helsingborgs. Hier kwam hij in twee seizoenen tot 39 competitie-optredens, waarna hij zijn carrière beëindigde.