// Adds dimensions UUID, Author and Topic into GA4
Sunday, July 26, 2026
30 C
Singapore

Singapore to impose S$1 to S$41.60 green fuel levy for air passengers starting October 2026

SINGAPORE: The Civil Aviation Authority of Singapore (CAAS) announced on Monday (Nov 10) that a new sustainable aviation fuel (SAF) levy will be imposed beginning in October next year.

The levy will range from S$1 to S$41.60 per ticket. For example, passengers flying economy will pay S$1.00 on flights from Singapore to Bangkok, S$2.80 to Tokyo, S$6.40 to London, and S$10.40 to New York. It will be imposed on all origin-destination passengers, origin-destination cargo shipments, and general and business aviation flights and will apply to tickets and services sold from Apr 1, 2026.

There are exemptions to the levy, however, including training, charitable, and humanitarian flights. As only origin-destination passengers are included in the new fee, travellers who are merely transiting through Singapore will not be required to pay the levy.

“The quantum of the SAF Levy is set based on the volume of SAF needed to meet the 1 per cent SAF target for 2026 and the projected price premium of SAF over conventional jet fuel and other associated costs, including the cost of certification, blending, and delivery,” CAAS said.

As seen from the range given above, the levy depends on the distance travelled. Destinations have therefore been grouped into four bands, and in cases of flights with multiple stops, the levy is based on the immediate next destination after departing Singapore.

Screenshot 2025 11 11 at 10.31.26%E2%80%AFAM
Screengrab/ CAAS

Each passenger will pay a levy based on the distance they will travel, as well as the cabin class of the ticket they purchased, with the charge for Business Class and First Class set at four times the price imposed on Economy Class and Premium Economy Class passengers. According to CAAS, this is based on industry norms for calculating the carbon emissions of passengers in different cabins of travel.

Screenshot 2025 11 11 at 10.37.23%E2%80%AFAM
Screengrab/ CAAS

The levy will be collected by airlines, which are required to display it as a distinct line item on the air ticket sold.

As for cargo shipments, the levy will be on a per-kilogram basis and will similarly depend on the distance travelled, as categorised by the four geographical bands for passengers.

For general and business aviation flights, meanwhile, the levy will be charged on a per-aircraft basis. It will vary based on the distance travelled, as categorised by the four geographical bands above, as well as the aircraft’s International Civil Aviation Organization codes A-F for aircraft wingspan, which serve as a proxy for aircraft size.

“The SAF Levy collected will go into a statutory SAF Fund managed by CAAS. The fund will be used solely for the purchase of SAF and/or SAF environmental attributes (EAs) and to cover associated administrative costs. The Singapore Sustainable Aviation Fuel Company Ltd. (SAFCo) will manage the procurement, allocation, and administration of SAF and EAs, to get best value for money and ensure transparency and accountability in the use of the fund,” CAAS added. /TISG

Read also: CAAS launches S$200M OneAviation Manpower Fund to boost the aviation workforce in Singapore

- Advertisement -

Hot this week

‘Just go, man’: Malaysians urge Penang technician to accept S$6,000 Singapore job

A Malaysian technician's Reddit post about a S$6,000 engineering offer in Singapore has drawn an outpouring of support from fellow Malaysians working across the Causeway. The verdict ended up being...

Netizen mocked after claiming colourful hair won’t get people hired in Singapore

Singaporeans pushed back against claims that brightly coloured hair would make young people unemployable. Others later pointed out that the original post was intended as satire.

Popular Categories

document.addEventListener("DOMContentLoaded", () => { const trigger = document.getElementById("ads-trigger"); if ('IntersectionObserver' in window && trigger) { const observer = new IntersectionObserver((entries, observer) => { entries.forEach(entry => { if (entry.isIntersecting) { lazyLoader(); // You should define lazyLoader() elsewhere or inline here observer.unobserve(entry.target); // Run once } }); }, { rootMargin: '800px', threshold: 0.1 }); observer.observe(trigger); } else { // Fallback setTimeout(lazyLoader, 3000); } });
// //
Enable Notifications OK No thanks