Den 29-årige spenderade den senare halvan av förra säsongen på lån i McDiarmid Park från Coventry City.
Han skrev på för Hearts efter att ha släppts av English League One outfit men gjorde bara nio framträdanden för Saints Premiership rivaler.
Den tidigare Berwick Rangers, Dundee United och Peterborough United ytter har undertecknat ett 18-månaders kontrakt.
Swanson hade släppts av Hearts på måndag och undertecknades av Saints som en ersättare för Michael O'Halloran, som hade sålts till Rangers samma dag.
Han gjorde 12 framträdanden i sin tidigare trollformel med Perth klubben, poäng två gånger.
Winger Danny Swanson har återvänt till St Johnstone efter en frustrerande fem månader med Hearts.