Coffee chains in Malaysia, by the numbers
A snapshot of how the big coffee brands are distributed across Malaysia — every operational outlet we've pulled from Google Maps, grouped by chain and by state. Useful if you're curious which chain owns which state, how Selangor compares to Sabah, or how far Zus has really spread.
// 2,608 outlets · 25 chains · updated May 4, 2026
By chain (nationwide)
Ranked by total operational outlets across all 13 states and 3 federal territories.
| # | Chain | Outlets | Share |
|---|---|---|---|
| 1 | Zus Coffee | 791 | 30.3% |
| 2 | Starbucks | 245 | 9.4% |
| 3 | The Coffee Bean & Tea Leaf | 241 | 9.2% |
| 4 | Kopi Kenangan | 169 | 6.5% |
| 5 | Gigi Coffee | 142 | 5.4% |
| 6 | Bask Bear Coffee | 134 | 5.1% |
| 7 | OldTown White Coffee | 111 | 4.3% |
| 8 | Richiamo Coffee | 109 | 4.2% |
| 9 | Dunkin | 106 | 4.1% |
| 10 | Luckin Coffee | 87 | 3.3% |
| 11 | HWC Coffee | 74 | 2.8% |
| 12 | Costa Coffee | 69 | 2.6% |
| 13 | San Francisco Coffee | 54 | 2.1% |
| 14 | Gloria Jean's Coffees | 51 | 2.0% |
| 15 | Nasken Coffee | 44 | 1.7% |
| 16 | Koppiku | 42 | 1.6% |
| 17 | Oriental Kopi | 32 | 1.2% |
| 18 | Kopi Dua Darjat | 29 | 1.1% |
| 19 | Kopi Rakyat | 25 | 1.0% |
| 20 | Cotti Coffee | 18 | 0.7% |
| 21 | PappaRich | 12 | 0.5% |
| 22 | Café Amazon | 9 | 0.3% |
| 23 | Kee Nguyen | 7 | 0.3% |
| 24 | Coffee Tree | 5 | 0.2% |
| 25 | Dome Cafe | 2 | 0.1% |
By state (total outlets)
All tracked chain outlets, summed per state. Selangor and KL account for the bulk — unsurprising given population density, but the gap is starker than most people guess.
| State / Territory | Outlets | Share |
|---|---|---|
| Selangor | 773 | 29.6% |
| Kuala Lumpur | 490 | 18.8% |
| Johor | 261 | 10.0% |
| Penang | 178 | 6.8% |
| Perak | 153 | 5.9% |
| Pahang | 112 | 4.3% |
| Negeri Sembilan | 108 | 4.1% |
| Kedah | 90 | 3.5% |
| Sarawak | 89 | 3.4% |
| Sabah | 87 | 3.3% |
| Melaka | 84 | 3.2% |
| Kelantan | 81 | 3.1% |
| Terengganu | 48 | 1.8% |
| Putrajaya | 37 | 1.4% |
| Perlis | 14 | 0.5% |
| Labuan | 3 | 0.1% |
Full breakdown (chain × state)
Every tracked chain, every state. Scroll sideways on mobile. State columns use short codes — hover to see the full name.
| Chain | KL | Sel | Ptj | Pen | Prk | Ked | Pls | Kel | Trg | Pah | Mel | N9 | Joh | Sbh | Swk | Lbn | Total |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Zus Coffee | 98 | 217 | 1 | 54 | 60 | 31 | 4 | 23 | 21 | 32 | 33 | 43 | 86 | 39 | 48 | 1 | 791 |
| Starbucks | 63 | 59 | 2 | 30 | 11 | 8 | 1 | 1 | 1 | 10 | 7 | 4 | 26 | 10 | 11 | 1 | 245 |
| The Coffee Bean & Tea Leaf | 44 | 74 | 4 | 35 | 12 | 6 | 1 | 4 | 4 | 9 | 6 | 11 | 29 | 1 | 1 | 0 | 241 |
| Kopi Kenangan | 26 | 61 | 2 | 3 | 10 | 9 | 1 | 7 | 5 | 8 | 5 | 8 | 17 | 4 | 2 | 1 | 169 |
| Gigi Coffee | 30 | 38 | 3 | 7 | 11 | 7 | 2 | 1 | 2 | 5 | 4 | 4 | 20 | 2 | 6 | 0 | 142 |
| Bask Bear Coffee | 14 | 40 | 3 | 8 | 11 | 5 | 0 | 1 | 3 | 7 | 6 | 6 | 16 | 9 | 5 | 0 | 134 |
| OldTown White Coffee | 10 | 27 | 3 | 7 | 16 | 7 | 0 | 2 | 2 | 11 | 5 | 2 | 15 | 3 | 1 | 0 | 111 |
| Richiamo Coffee | 11 | 31 | 1 | 2 | 7 | 8 | 3 | 1 | 2 | 6 | 6 | 11 | 14 | 4 | 2 | 0 | 109 |
| Dunkin | 22 | 40 | 4 | 1 | 4 | 0 | 0 | 1 | 0 | 6 | 5 | 5 | 12 | 6 | 0 | 0 | 106 |
| Luckin Coffee | 35 | 45 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 4 | 0 | 1 | 0 | 0 | 0 | 0 | 87 |
| HWC Coffee | 30 | 27 | 0 | 4 | 2 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 2 | 3 | 3 | 0 | 74 |
| Costa Coffee | 9 | 22 | 0 | 4 | 4 | 3 | 0 | 6 | 3 | 1 | 2 | 3 | 6 | 3 | 3 | 0 | 69 |
| San Francisco Coffee | 26 | 23 | 1 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 54 |
| Gloria Jean's Coffees | 14 | 17 | 8 | 1 | 0 | 2 | 0 | 2 | 0 | 2 | 1 | 1 | 2 | 1 | 0 | 0 | 51 |
| Nasken Coffee | 2 | 2 | 2 | 0 | 0 | 0 | 0 | 31 | 5 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 44 |
| Koppiku | 19 | 16 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 7 | 0 | 0 | 0 | 0 | 0 | 0 | 42 |
| Oriental Kopi | 7 | 8 | 2 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 9 | 0 | 1 | 0 | 32 |
| Kopi Dua Darjat | 12 | 9 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 5 | 0 | 0 | 0 | 0 | 29 |
| Kopi Rakyat | 5 | 0 | 0 | 0 | 4 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 6 | 0 | 4 | 0 | 25 |
| Cotti Coffee | 7 | 7 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 18 |
| PappaRich | 4 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 12 |
| Café Amazon | 0 | 0 | 0 | 7 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 9 |
| Kee Nguyen | 1 | 5 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 7 |
| Coffee Tree | 0 | 0 | 0 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5 |
| Dome Cafe | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 2 |
| Total | 490 | 773 | 37 | 178 | 153 | 90 | 14 | 81 | 48 | 112 | 84 | 108 | 261 | 87 | 89 | 3 | 2608 |
How these numbers were put together
- Data pulled from the Google Maps / Places API via
scripts/fetch_chains.pyin the cucci-coffee repo. - For each chain, we run one Text Search per state plus a nationwide fallback, paginate up to 3 pages, and dedupe by place_id. Dense states that hit Google's 60-result cap get drilled into city-by-city.
- Only outlets with
businessStatus: OPERATIONALare counted. Permanently closed branches are filtered out. - Independent / specialty cafes are not in this table — only the tracked chains. For the full interactive map including indies, see the homepage.
- Google occasionally returns cross-border matches (Singapore, Brunei) for regional chains; those are filtered against Malaysia's 13 states + 3 FTs.
Get notified when we refresh the numbers
We re-pull chain data periodically. Subscribe if you want a heads-up when the next snapshot drops.
Subscribe Free →