The 26-year-old, currently on World Cup duty with the Croatia squad in Brazil, “arrives at the Camp Nou after impressing for three seasons with Sevilla. He has done nothing but improve” there, Barcelona said in a statement.
Sevilla’s captain Rakitic scored 32 goals in his three and a half years with the club and led them to victory in the Europa League title in May.
The two clubs “reached an agreement for the transfer” of Rakitic, who “will sign a contract with FC Barcelona for the next five seasons,” the Catalan club said.
Barcelona also agreed to send striker Denis Suarez to Sevilla for the next two seasons, it added.
Rakitic is the latest in a series of big signings for Barcelona this summer after a disappointing season in which they narrowly failed to defend their Spanish league title.
Atletico Madrid won La Liga for the first time in 18 years, pushing Barca into second place.
That drove their Argentine manager Tata Martino to quit after just one season.
His replacement, former Spain and Barcelona hero Luis Enrique, launched a big shake-up in the squad, including selling midfield star Cesc Fabregas to Chelsea.
Sevilla called Rakitic one of its “best footballers of the moment… with exceptional talent, versatility and goal-scoring ability”, in a statement announcing his departure.
“As captain, Rakitic became an undisputable leader, playing and playmaking, scoring goals like a striker and winning the ball like a competitive midfielder.”
Barcelona has also signed a new first-choice goalkeeper, German international Ter Stegen, from Bundesliga club Borussia Moenchengladbach on a deal worth a reported 12 million euros ($16m).
Barca’s Argentine star striker Lionel Messi and Spanish defender Gerard Pique each signed new contracts.
With two players also returned from spells on loan, Rafinha Alcantara and Gerard Delofeu, the team now seeks to restore hope to the Camp Nou under the attack-minded Enrique.