The fourth in line to the throne will be known as Her Royal Highness Princess Charlotte of Cambridge.
She was born on Saturday in the Lindo Wing of London's St Mary's Hospital weighing 8lbs 3oz (3.7kg).
The Queen and other senior royals were told of the baby's name before the announcement was made public.
The BBC's royal correspondent Peter Hunt said that a Kensington Palace official, when asked about the couple's choice of name, said: "We'll let the names speak for themselves."
Charlotte, the feminine form of Charles, has a long royal pedigree and became popular in the 18th century when it was the name of George III's queen.
The King bought Buckingham House in 1761 for his wife Queen Charlotte to use as a family home close to St James's Palace - it became known as the Queen's House and is now Buckingham Palace.
Charles is the name of two former Kings and of the Prince of Wales, the princess's grandfather.
Charlotte also has more recent connections for the royal couple. On the duchess's side, it is the middle name of her sister Pippa Middleton and on the duke's it is the name of his cousin Charlotte Spencer, Earl Spencer's youngest daughter.
The earl tweeted: "Perfect names. My 2-year old Charlotte Diana will be thrilled at cousinly name-sharing."
Elizabeth and Diana are more obvious choices.
Prince William has spoken of how, as he becomes older, his grandmother has become an even more important part of his life.
And it was inevitable that he would honour his mother and inevitable that he wouldn't "burden" his daughter with Diana as a first name.
Hyde Park and Tower of London gun salute for Princess Charlotte