Currently chairman of Aviva, McFarlane will become a non-executive director of Barclays from 1 January 2015, and will takeover from Walker after the Barclays AGM that year.
He will step down from Aviva after its AGM in April next year. He will also leave his role as chairman of FirstGroup in July 2015, after its AGM.
Sir John Sunderland, who led the process to appoint a successor to Walker, said: “The Barclays board set very challenging requirements for its new chairman and I am very pleased that in John McFarlane we have identified someone who met all of our criteria.
“John is an enormously experienced and respected banker with global experience of both retail and investment banking.”
McFarlane joined the Aviva board in September 2011 and became chairman in July 2012. Before that, he served as chief executive of Australia and New Zealand Banking Group and as a group executive director at Standard Chartered.
He has also held senior positions at Citi and the Royal Bank of Scotland.