The photograph taken by Kate, the Duchess of Cambridge, in April shows the young royal at the family's home, Anmer Hall, in Norfolk, as the family prepares for a low-key birthday tomorrow.
The couple released a similar photograph of Charlotte last year to celebrate her turning one.
Kensington Palace, in a statement, said, "The Duke and Duchess are very pleased to share this photograph as they celebrate Princess Charlotte's second birthday."
"Their Royal Highnesses would like to thank everyone for all of the lovely messages they have received," the statement said.
In the image, Charlotte is wearing a knitted yellow cardigan with a sheep on it and a navy-blue clip in her hair.
The baby princess was first photographed on the day of her birth -- May 2, 2015 -- when the Duchess held her daughter outside the private maternity wing of St Mary's hospital in central London, where the princess was delivered.
She was named Charlotte Elizabeth Diana in a tribute to her grandmother Diana, Princess of Wales, and her great- grandmother -- Queen Elizabeth II.
Her second birthday marks the beginning of a busy month as she gets set to be the bridesmaid for her maternal aunt, Pippa Middleton, on May 20.
The wedding, in the Middletons' home of Bucklebury, will see Prince George take on page boy duties as the Duke and Duchess of Cambridge support them from the pews.