Barcelona legend Andres Iniesta says he will leave the Spanish club at the end of the season.

The midfielder, 33, has made 669 appearances in 16 seasons, winning 31 trophies with Barca and three major tournaments for Spain.

He has been an integral part of Barca's team this season, scoring in the 5-0 Copa del Rey final win over Sevilla.

"It is a difficult day for me," he said in an emotional news conference.

Iniesta fought back the tears as he announced his decision, watched by his family, Barcelona team-mates, manager Ernesto Valverde and president Josep Maria Bartomeu.

Iniesta, capped 125 times by Spain, is set to play at this summer's World Cup.

He has won the 2010 World Cup, Euro 2008 and Euro 2018 – on top of four Champions Leagues and eight La Liga titles – set to be nine – and multiple other trophies for Barcelona.

Barca, who have five games left before Iniesta leaves, will wrap up the Spanish title if they avoid defeat by Deportivo La Coruna on Sunday.