She gave birth to a daughter – weighing in at 3,465 grams and 50 centimetres – at 41 minutes after midnight at Danderyd Hospital north of Stockholm.
“Both mother and child are in good health,” said Svante Lindqvist, Marshal of the Realm.
Madeleine's husband Chris O'Neill was present throughout the birth, he said.
“We are thrilled about the new addition to our family. Leonore and Nicolas are looking very much forward to finally meeting their new little sister,” O'Neill said in a statement.
Swedish tabloid Expressen reports that King Carl XVI Gustaf and Queen Silvia have interrupted their holiday in Switzerland to fly home and meet their seventh grandchild.
- Why family-friendly Sweden is talking about a maternity care crisis
- What you need to know about giving birth in Sweden
The young princess is the third child of Madeleine and her British-born American financier husband – who has chosen not to take a royal title.
Their first child, Princess Leonore, was born in New York in 2014, and Prince Nicolas in 2015, also at Danderyd Hospital.
This is the latest chapter in a Swedish royal baby boom in recent years and the new princess will have plenty of cousins to play with, including Crown Princess Victoria's children Princess Estelle, 6, and Prince Oscar, 2.
Madeleine's brother Prince Carl Philip and his wife Sofia Hellqvist have two children, Prince Alexander, who turns two in April, and six-month-old Prince Gabriel.
King Carl XVI Gustaf with their children and grandchildren in the summer of 2017. Photo: Christine Olsson/TT