Shailene Woodley will donate her hair to a children's charity.

The 21-year-old actress is set to cut off her hair to play a teenage cancer patient in the big screen adaptation of John Green's 'The Fault in Our Stars' and the author has revealed she will donate her locks to Children with Hair Loss.

He wrote on his Tumblr page: ''Shailene Woodley is cutting her hair this weekend to prepare for her role as Hazel in The Fault in Our Stars movie. And she's donating her hair to Children with Hair Loss, an organization that provides free wigs to kids who've experienced hair loss due to cancer, burns, or other medical conditions.

''I want to be clear that this was entirely Shai's idea. (I don't even think the studio knows about it.) I hope if you're able, you'll consider joining Shai in donating. Thanks! (sic).''

John encouraged readers of his blog to participate and even revealed Shailene's mother will join her daughter in donating her hair.

He said: ''When Shailene told me about this, I immediately thought there might be people in nerdfighteria who want to join her. (We already have one convert joining in: Shailene's mom!) So if you have eight or more inches of spare hair, consider donating it to Children with Hair Loss.

''And if you do, let me know via the tags hairforhazel or itgrowsback, so I can put together some pictures/reblog your beautiful faces (sic).''