The 31-year-old, currently captaining Chile at the FIFA World Cup, will provide competition for fellow close-season arrival Marc-Andre ter Stegen.
Barcelona were in need of goalkeeping recruits following the departure of long-serving first-choice Victor Valdes and understudy Jose Manuel Pinto.
Bravo featured in all but one of Sociedad's La Liga matches last season, helping them to a seventh-place finish.
His new club will be seeking to improve on a poor campaign that saw them finish without a major trophy, leading Gerardo Martino to leave his role as coach after just one season.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.