Venice has won approval to introduce an entry fee of up to €10 (£9; $11.50) for short-stay tourists.
Italy's budget for 2019 has a clause enabling Venice to impose the fee, which will especially target day-trippers arriving on cruise ships.
Tourists already pay a similar "landing tax" when they visit Italy's tiny Aeolian Islands.
Venetians have long complained that mass tourism is swamping the city, adored for its picturesque canals.
Hundreds of cruise ships moor in Venice every year, allowing over a million passengers to see the city's sights.
Venice Mayor Luigi Brugnaro said the "landing tax" would generate much-needed income to keep the city clean.
It is expected to be set at €2.50 to €5 per person, but at peak times in the summer it could rise to €10. Venice plans to have the tax in place for the 2019 high season.
It will apply only to tourists, but it is not clear whether it will replace a city tax already levied on hotel occupants. That tax brings in about €30m annually, but the "landing tax" could generate more - an estimated €50m.
Cruise passengers are easily identified, Italian officials say, but it may prove harder to tax day-trippers arriving by air, road or rail.
Local residents, workers and students will be exempt. For years there have been protests by Venetians who say mass tourism is spoiling the city's character.
Claudio Scarpa, head of the Venice hotel managers' association Ava, said "the principle is that whoever visits from morning to evening, contributing just a tiny amount to the revenue from tourism, but imposing costs on our services, must understand that it's not all there for free".