The highly-rated 21-year-old made his first-team debut for Barca in November 2011 before going on to make 22 appearances last season, playing in the league, Copa del Rey and Champions League.
This season Tello has made 16 appearances in all competitions for Barca, having represented Spain at this summer's Olympics.
A Barcelona statement read: "Barcelona announce they have reached an agreement with the player Cristian Tello to extend his contract until June 30, 2016. His buy-out clause has been set at 10 million euros.
"The player will sign his contract on Monday, December 17, in the Barcelona offices."