ADVERTISEMENT

Jollibee plans Vietnam IPO for Highlands Coffee unit by 2027

Published Mar 4, 2026 09:05 am
Jollibee Foods Corp. is moving to list its Highlands Coffee unit in Vietnam by the first quarter of 2027, seeking to capitalize on surging retail investor interest in one of Southeast Asia’s fastest-growing economies.
In a disclosure to the Philippine Stock Exchange, Jollibee said that the board of its subsidiary, Highlands Coffee, is currently evaluating a standalone initial public offering (IPO), noting the company has already engaged international and local advisors to define the structure and timing of the share sale.
While the company aims to complete the transaction by the first quarter of 2027, Jollibee said the deal remains subject to market conditions, regulatory approvals, and internal restructuring.
Highlands Coffee has emerged as a cornerstone of Jollibee’s aggressive international expansion strategy. Since Jollibee first invested in the brand in 2012, the network has ballooned from 56 outlets to nearly 1,000 locations, establishing itself as the dominant coffee chain in Vietnam.
The parent company views the IPO as a mechanism to provide the brand with direct access to capital markets and elevate its corporate profile across Southeast Asia.
The move comes as Vietnam’s equity market experiences a liquidity boom. The Vietnamese government is targeting approximately nine million retail investor accounts by 2025 and 11 million by 2030, creating a deeper pool of domestic capital for consumer-focused companies.
Jollibee noted that the proposed listing would create a platform for exponential shareholder value creation in a dynamic market environment. In the fourth quarter of 2025, Highlands Coffee reported a 13.6 percent increase in same-store sales, signaling resilient consumer demand.
Market analysts described the IPO timing as strategic, suggesting it could be the precursor to a broader listing of Jollibee’s international business units.
Jonathan Ravelas, senior adviser at Reyes Tacandong & Co., said the move unlocks value from a strong regional brand and frees up capital to fund further expansion within the Association of Southeast Asian Nations.
Ravelas noted that coffee remains a resilient, everyday consumer business that appeals to investors looking for exposure to Vietnam’s rising middle class.
Juan Paolo Colet, managing director at Chinabank Capital Corp., said Highlands Coffee is ripe for a public debut given its current scale and financial performance.
He added that the capital raised from the exercise could be rechanneled to support Jollibee’s global ambitions, eventually bolstering the investment case for a future IPO of Jollibee International.
Jeri R. Alfonso, an analyst at Unicapital Securities Inc., observed that the group appears to be chasing deeper capital pools and higher investor appetite available in offshore exchanges.
The expansion of Highlands Coffee has been a key driver in Jollibee's goal to become one of the world's top five restaurant operators.

Related Tags

Jollibee Foods Corporation Highlands Coffee Reyes Tacandong & Co. Jonathan Ravelas Chinabank Capital Corporation Juan Paolo Colet Unicapital Securities Inc. Jeri Alfonso
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.