The two clubs have agreed a transfer for the 31-year-old, who is currently on international duty with Chile at the World Cup in Brazil.
A statement from the Catalan giants read: "FC Barcelona and Real Sociedad have reached an agreement for the transfer of goalkeeper Claudio Bravo. Claudio Bravo will sign a contract with FC Barcelona for the next four seasons."
Barcelona have been in the hunt for a goalkeeper since Victor Valdes announced his intentions to leave Camp Nou after spending 12 years with the senior team.
Bravo represented Sociedad for eight seasons.