The striker moves to Signal Iduna Park for the rest of 2018-2019 for a fee of €2million.
Dortmund has the option to sign the player outright for €23m, plus a further €5m in variables. Barca would be entitled to five per cent of any future profit too, should Alcacer then be sold to another club.
"I'm really looking forward to playing in the Bundesliga soon," Alcacer, who will wear the number nine shirt, told the club's website.
"This is one of the best leagues in the world. With these incredible fans and the famous south stand, BVB has something magical for every footballer."
"We're very happy Paco Alcacer has decided in favour of Borussia Dortmund and we firmly believe this type of player fits our way of playing well," added sporting director Michael Zorc.
"Paco proved his quality at an early age at Valencia, scoring many goals, and experienced special appreciation when he was given the captaincy at just 22.
"At Barcelona, he worked every day with some of the best players in the world. It's due to the extreme competition in attack that he has now decided to make a fresh start after two years."
Barca signed Alcacer for an initial €30m in August 2016 as a back-up for striker Luis Suarez.
The 24-year-old made 50 appearances for the club in total, winning LaLiga, two Copas del Rey and the Supercopa de Espana, but he struggled to hold down a regular place in the starting line-up.