Germany international Can joined Juve in 2018 after his contract with Liverpool expired, but has been short of match action this season.
The 26-year-old has made just eight Serie A appearances under Maurizio Sarri and was left out of the Turin giant's UEFA Champions League squad.
Can on Saturday (AEDT) completed a return to the Bundesliga with Dortmund, initially on loan — for a fee of €1 million ($1.63 million) — and the transfer will become permanent if agreed parameters are met.
Dortmund could pay Juve €2 5million ($4.1 million), over the course of three financial years, to keep the former Bayer Leverkusen and Bayern Munich man.
"In Can we get a German national player who can be used across multiple systems in defence as well as in central midfield. A player who brings in his technique as well as his technique and has a strong will to win," Dortmund's sporting director Michael Zorc said.
"I think the team has great potential and can win something," Can added. "I am convinced that I can help them and can't wait to play in front of these fans for whom Borussia Dortmund is known all over the world for the first time."
Can becomes Dortmund's second major addition of the January window, after the club brought in striker Erling Haaland, who has scored five goals in his two Bundesliga appearances.
Haaland's stunning start allowed Dortmund to free up funds for the Can move by selling Paco Alcacer to Villarreal on Friday (AEDT), while winger Jacob Bruun Larsen has also left for Hoffenheim.