The American toddler, believed to have been 18 months old, plunged from the 11th deck of the Freedom of the Seas while the boat was docked in San Juan.
She landed on the concrete port below and was pronounced dead shortly after the accident on Sunday afternoon.
The girl fell about 150ft after slipping through her grandfather’s arms as he held her by an open window, according to local media reports.
“Unfortunately, the news of a baby’s accident on a cruise ship is true,” confirmed Anthony Maceira Zayas, Puerto Rico’s secretary for public affairs and Ports Authority executive director.
The Caribbean island’s Department of Public Security added in a statement: “We regret the sad event that occurred on the Freedom of the Seas cruise and we sympathise with the family of the girl who died.”
The girl’s family are believed to be from Indiana.
Another passenger on the cruise told Spanish-language television station Telemundo PR they heard the toddler’s mother screaming following the fall.
“That cry of pain does not compare with any other cry,” they added.
A spokesperson for Royal Carribean, which owns the ship, told The Independent: “We are deeply saddened by yesterday’s tragic incident, and our hearts go out to the family.
“We’ve made our care team available to assist the family with any resources they need. Out of respect for their privacy, we do not plan to comment further on the incident.”
The girl had been on holiday with her parents, younger brother and maternal and paternal grandparents, according to Puerto Rican newspaper Primera Hora.
Puerto Rico Police’s San Juan homicide department are investigating the toddler’s death, but they are not yet thought to have interviewed her family.
Investigators have been speaking to witnesses who saw the fall and are expected to examine CCTV footage.
The Freedom of the Seas, which can accommodate 3,634 passengers, was about to embark on a seven-day Carribean cruise when the accident happened.
The ship, which is the world’s 15th largest passenger boat, was delayed leaving the port but eventually set sail for Sint Marteen at 8.30pm local time (12.30am Monday GMT).