ADVERTISEMENT

Philippine air travel surges to 17-million before record fuel shock

Published May 25, 2026 12:00 am  |  Updated May 23, 2026 01:20 pm
Philippine passenger air traffic expanded in the first quarter as stable ticket pricing sustained the post-pandemic travel boom, though a subsequent spike in jet fuel costs and record-high fuel surcharges threaten to cool momentum heading into the peak summer season.
Data from the Civil Aeronautics Board showed that total passenger volume rose 6.6 percent to 17.04 million in January to March from 15.98 million in the same period last year, or when airfares were still relatively stable.
The growth was fueled partly by international passenger volume, which rose by 7.4 percent to 8.02 million during the three-month period, exceeding the previous year’s 7.47 million.
Foreign airlines accounted for 50.5 percent of the traffic at 4.05 million passengers, while local carriers accommodated the remaining 49.5 percent at 3.97 million.
CAB data showed that 22.7 percent, or 1.82 million, of passengers who traveled abroad were flown by low-cost carrier Cebu Pacific.
Flag carrier Philippine Airlines (PAL) and its low-cost unit PAL Express were not far behind at 1.81 million passengers, or 22.6 percent of the total. Meanwhile, AirAsia Philippines placed third with a total of 329,189 passengers.
Based on CAB data, domestic passenger volume went up by 6.1 percent to 9.03 million in the first three months of the year, compared to 8.51 million in the same period last year.
Cebu Pacific, together with its regional subsidiary Cebgo and boutique carrier AirSwift, carried more than half of the passengers traveling to destinations across the Philippines, with a total of 5.19 million.
PAL and PAL Express serviced just over a quarter of domestic travelers with 2.49 million, followed by AirAsia Philippines with 1.28 million, Sunlight Air with 53,993, and Island Aviation Corp. with 3,927.
The local aviation sector largely sustained passenger growth from last year during the first three months because of relatively stable airfares, avoiding the impact of higher jet fuel prices on ticket costs.
Since the latest conflict in the Middle East erupted in late February, the price of jet fuel per barrel has doubled from last year’s average of below $100, leaving the CAB with no choice but to raise the passenger fuel surcharge to help airlines cope with additional costs.
CAB, which oversees the economic aspect of air travel in the country, raised the surcharge rate from Level 4 in March to Level 8 in the first half of April before hiking it to a record Level 19 in the second half of the month.
As jet fuel prices eased slightly, the CAB lowered the surcharge to Level 15 for the period covering May 16 to 31. This provided only a slight relief for travelers, as airlines were still allowed to impose and collect as much as ₱1,436 for domestic flights and ₱12,056 for international flights.
To manage expenses in an increasingly uncertain environment, the country’s leading carriers reduced their flight schedules on routes to the Middle East and other destinations with lower demand, while keeping operations to the most popular routes intact.

Related Tags

Civil Aeronautics Board (CAB) passenger volume
ADVERTISEMENT
.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1561_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1562_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1563_widget.title }}

{{ articles_filter_1564_widget.title }}

.mb-article-details { position: relative; } .mb-article-details .article-body-preview, .mb-article-details .article-body-summary{ font-size: 17px; line-height: 30px; font-family: "Libre Caslon Text", serif; color: #000; } .mb-article-details .article-body-preview iframe , .mb-article-details .article-body-summary iframe{ width: 100%; margin: auto; } .read-more-background { background: linear-gradient(180deg, color(display-p3 1.000 1.000 1.000 / 0) 13.75%, color(display-p3 1.000 1.000 1.000 / 0.8) 30.79%, color(display-p3 1.000 1.000 1.000) 72.5%); position: absolute; height: 200px; width: 100%; bottom: 0; display: flex; justify-content: center; align-items: center; padding: 0; } .read-more-background a{ color: #000; } .read-more-btn { padding: 17px 45px; font-family: Inter; font-weight: 700; font-size: 18px; line-height: 16px; text-align: center; vertical-align: middle; border: 1px solid black; background-color: white; } .hidden { display: none; }
function initializeAllSwipers() { // Get all hidden inputs with cms_article_id document.querySelectorAll('[id^="cms_article_id_"]').forEach(function (input) { const cmsArticleId = input.value; const articleSelector = '#article-' + cmsArticleId + ' .body_images'; const swiperElement = document.querySelector(articleSelector); if (swiperElement && !swiperElement.classList.contains('swiper-initialized')) { new Swiper(articleSelector, { loop: true, pagination: false, navigation: { nextEl: '#article-' + cmsArticleId + ' .swiper-button-next', prevEl: '#article-' + cmsArticleId + ' .swiper-button-prev', }, }); } }); } setTimeout(initializeAllSwipers, 3000); const intersectionObserver = new IntersectionObserver( (entries) => { entries.forEach((entry) => { if (entry.isIntersecting) { const newUrl = entry.target.getAttribute("data-url"); if (newUrl) { history.pushState(null, null, newUrl); let article = entry.target; // Extract metadata const author = article.querySelector('.author-section').textContent.replace('By', '').trim(); const section = article.querySelector('.section-info ').textContent.replace(' ', ' '); const title = article.querySelector('.article-title h1').textContent; // Parse URL for Chartbeat path format const parsedUrl = new URL(newUrl, window.location.origin); const cleanUrl = parsedUrl.host + parsedUrl.pathname; // Update Chartbeat configuration if (typeof window._sf_async_config !== 'undefined') { window._sf_async_config.path = cleanUrl; window._sf_async_config.sections = section; window._sf_async_config.authors = author; } // Track virtual page view with Chartbeat if (typeof pSUPERFLY !== 'undefined' && typeof pSUPERFLY.virtualPage === 'function') { try { pSUPERFLY.virtualPage({ path: cleanUrl, title: title, sections: section, authors: author }); } catch (error) { console.error('ping error', error); } } // Optional: Update document title if (title && title !== document.title) { document.title = title; } } } }); }, { threshold: 0.1 } ); function showArticleBody(button) { const article = button.closest("article"); const summary = article.querySelector(".article-body-summary"); const body = article.querySelector(".article-body-preview"); const readMoreSection = article.querySelector(".read-more-background"); // Hide summary and read-more section summary.style.display = "none"; readMoreSection.style.display = "none"; // Show the full article body body.classList.remove("hidden"); } document.addEventListener("DOMContentLoaded", () => { let loadCount = 0; // Track how many times articles are loaded const offset = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; // Offset values const currentUrl = window.location.pathname.substring(1); let isLoading = false; // Prevent multiple calls if (!currentUrl) { console.log("Current URL is invalid."); return; } const sentinel = document.getElementById("load-more-sentinel"); if (!sentinel) { console.log("Sentinel element not found."); return; } function isSentinelVisible() { const rect = sentinel.getBoundingClientRect(); return ( rect.top < window.innerHeight && rect.bottom >= 0 ); } function onScroll() { if (isLoading) return; if (isSentinelVisible()) { if (loadCount >= offset.length) { console.log("Maximum load attempts reached."); window.removeEventListener("scroll", onScroll); return; } isLoading = true; const currentOffset = offset[loadCount]; window.loadMoreItems().then(() => { let article = document.querySelector('#widget_1690 > div:nth-last-of-type(2) article'); intersectionObserver.observe(article) loadCount++; }).catch(error => { console.error("Error loading more items:", error); }).finally(() => { isLoading = false; }); } } window.addEventListener("scroll", onScroll); });

Sign up by email to receive news.