After the contract with Winnipeg Jets expired, Ehlers was without a club, but was one of the most sought-after players on the market.
"Nikolaj was one of the top players on the market and we are proud that he has chosen Carolina as his new home", says the club's general manager Eric Tulsky in a statement.
Ehlers will earn an average of 8.5 million dollars per season – equivalent to approximately 80 million kronor.
"He is a very skilled forward with good skating and he will fit very well into our group", says Tulsky.
Ehlers has made ten NHL seasons, all in Winnipeg, and was credited with 24 goals and 39 assists last season. In total, he has made 225 NHL goals.
In Carolina, he will become a teammate with his compatriot and goalkeeper Frederik Andersen. Both are also expected to play key roles for Denmark at the Olympic Games in Italy next year.