The 30-year-old centre-back has made over 300 appearances in English football which includes spells in the Championship with Barnsley, Hull City and Rotherham.
He joined Swindon last summer and was appointed club captain – a role he has also held at previous clubs. He made 16 appearances for the League Two side this season despite spending time on the sidelines with a disclocated collarbone.
Despite his status as a first-team regular, the Robins have released MacDonald from the remaining 18 months of his contract in order for him to complete the move to Pittodrie. He becomes Aberdeen's second deadline day signing following the arrival of goalkeeper Jay Gorter on loan from Dutch champions Ajax.
Dons interim manager Barry Robson, who will take charge of the side for Wednesday’s visit of St Mirren following the sacking of Jim Goodwin, welcomed the arrival of the experienced Englishman.
Robson said: “Angus has played an abundance of games at a high level down south and brings with him a wealth of experience which I think will be hugely beneficial to us in the second part of the season. He’s been captain at many of his clubs and I’ve no doubt his leadership will be invaluable.”
MacDonald trained with his new team-mates on Tuesday and is available to face St Mirren.