Forsyth, who impressed during a two-month loan spell at Pride Park last season, has put pen to paper on a three-year contract with the Rams.
The 24-year-old played the majority of his time for Derby at left-back but he is also capable of playing further forwards if required.
"Craig did extremely well when he was on loan with us and he made a real impact," Rams boss Nigel Clough said.
"His performances at left-back were excellent and we were really pleased with him, and we've had our sights set on him permanently for quite a while now.
"We have been aware of him for quite some time, even before he joined us on loan, and we're delighted he sees Derby County as his home for the next few years.
"He's capable of playing in defence or midfield but we see him as our first-choice left-back now and think he'll only get better in that position as well.
"This is an important signing for us. We know strikers and creative players grab the headlines normally, but this was equally as important for us to get Craig signed up and strengthen our defensive options."
Forsyth become Derby's fourth signing of the summer following the arrivals of goalkeeper Lee Grant and strikers Chris Martin and Johnny Russell.