He joins on a free transfer and will replace Peter Brezovan who was released after his contract expired.
He played 18 times for Leeds last season, including the home game Swindon played against Leeds back in September.
In the past he's also played for Sheffield Wednesday and Preston.