Scarlets chief executive Stuart Gallacher said: "We thank Scott for his contribution over the past three years. We wish him all the best for the future."
MacLeod said: "I've loved my time in West Wales. It's been a great experience at the Scarlets and I'm proud to have been part of a club with such a wonderful tradition.
"Things weren't working out this season; I'm determined to continue playing at international level which means I need regular regional rugby so I made the decision for me and family to move on."
Hawick-born MacLeod joined the Scarlets from the Border Reivers and made his debut in August 2006 against Northampton Saints.
He went on to make 28 appearances that first season, touching down three times, and 19 appearances last season.
His final run-out in a Scarlets shirt came on Saturday in the Heineken Cup Pool 4 game at Harlequins. He came on as a 54th-minute replacement.
MacLeod's international debut came in 2004 when he played Australia twice, Japan and South Africa. He has since played another 17 times for Scotland.