A plan to advertise a horse race on the sails of the Sydney Opera House has prompted a large backlash in Australia.

The World Heritage-listed site displayed the advert on Tuesday, after an order by the New South Wales premier.

Critics say the decision defies Sydney Opera House rules by effectively creating a "billboard" for the racing and gambling industries.

But others, including Prime Minister Scott Morrison, have defended it as positive for the economy and tourism.

Since Friday, more than 150,000 people have signed an online petition calling for the opera house to be "protected".