The measure, passed late on Saturday as part of the budget bill, allows the city authorities from July to charge tourists a landing fee of between 2.5 and 10 euros depending on the season.
The charge covers all visitors, whether they are staying overnight or not.
That means it will apply to day-trippers such as the thousands of cruise ship passengers who currently escape the existing tax charged by hotels and the owners of rented properties for those staying overnight.
Some 600 cruise ships stop at Venice every year, helping drive complaints that the city is being swamped by the millions of tourists who visit each year.
Airlines and coach companies may also pass on the new tax in their charges.
City officials estimate that the tax could bring in 50 million euros a year.
“The cost of cleaning the historic centre and its security are particular and for years have been covered by Venetians,” the centre-right mayor of Venice, Luigi Brugnaro, told daily La Repubblica.
“Thank you to all those who from now on will help us keep Venice clean and allow Venetians to live more comfortably.”
On Twitter, Brugnaro added that the authorities were looking at measures to ensure visitors working or studying in the city were not affected.
A similar landing tax is already in place on the Aeolian isles off Sicily, and Lampedusa, Italy's southernmost island.