Miami (AFP) - British pop star Rod Stewart has been charged for allegedly punching a hotel security guard in the chest outside a children's party in Florida, according to a police report obtained by US media.

The 74-year-old singer of "Forever Young" and numerous other hits was with his family at The Breakers, a luxury hotel in Palm Beach, on New Year's Eve when he was refused access to a party in the children's section of the resort, US media reported on Friday.

Stewart was attempting to enter the event with his 39-year-old son Sean and other family members including children, according to the police report.

The singer -- recognizable by his hoarse voice and mop of blond hair -- was charged with simple battery, a minor offense which is generally punishable by a fine.

His son reportedly faces the same charge.

They are scheduled to appear in a Palm Beach court on February 5.

Stewart, whose number-one hits included "Tonight's the Night (Gonna Be Alright)," released his 30th studio album in 2018.

In December, he had the number one Christmas album with "You're in My Heart," a collection of his classics with new backing from London's Royal Philharmonic Orchestra.

He was knighted by Queen Elizabeth II in 2016.