U.S. actress Dakota Johnson will play the naive Anastasia Steele alongside English actor Charlie Hunnam as the manipulative Christian Grey in the film version of the erotic novel Fifty Shades of Grey, its British author E.L. James said on Monday.

"The gorgeous and talented Charlie Hunnam will be Christian Grey in the film adaptation of Fifty Shades of Grey," James said on her website, before revealing Johnson's role.

Fifty Shades of Grey, about a passionate relationship between literature student Anastasia and the manipulative entrepreneur Christian, was first published in 2011 and became a cultural phenomenon as it rocketed up the bestseller lists.

220-charlie-hunnam-04943342

Charlie Hunnam will play the 27-year-old billionaire Christian Grey. (Chris Pizzello/Associated Press)

Described as "mummy porn" by critics, James's debut novel became Britain's fastest paperback to reach 1 million sales and was the first in a trilogy. Movie rights for the novels were bought up by Universal Pictures and Focus Features.

Johnson, 23, a fashion model and actress, is the daughter of Miami Vice actor Don Johnson and Working Girl star Melanie Griffith. Johnson is best known for films such as action comedy 21 Jump Street (2012) and romantic comedy The Five-Year Engagement (2O12).

The 33-year-old Hunnam's latest film was sci-fi epic Pacific Rim (2013), in which he played a robot pilot fighting alien monsters.

Fifty Shades will be directed by Sam Taylor-Johnson and is due for release in 2014.

James, a former television executive whose real name is Erika Leonard, lives with her family in London.