Kopi-O is what Italian espresso would be if it had moved to Singapore in the 1920s, settled into a Hainanese kopitiam, and never left. The coffee is dark, butter-finished, slightly bitter, and works astonishingly well in cocktails. The Kopi Sour is a serious drink built on it. So is everything we put kopi-O into.
What it is
Kopi-O is Malaysian-Singaporean black coffee, traditionally made from robusta beans (sometimes blended with liberica) roasted in the Hainanese style: the beans are mixed with butter, margarine, and sugar during the final roast, which caramelises onto the bean surface. The result is darker, oilier, and more bittersweet than Western espresso roasts.
"Kopi" is Malay/Indonesian for coffee. "O" is from Hokkien (烏), meaning black. Kopi-O is black coffee without milk. The fuller kopitiam lexicon includes kopi (with condensed milk and sugar), kopi-c (with evaporated milk and sugar), kopi peng (iced), and many more.
Flavour profile
Dark, bittersweet, slightly buttery, with a sharper edge than arabica espresso. Cocoa-adjacent finish. The butter-roast adds a faint margarine-cream character that softens the bitterness. Pairs naturally with whisky (bourbon, rye, Japanese), aged rum, brandy, gula melaka, cardamom, coconut, vanilla, cinnamon.
For cocktails, kopi-O has more body and a more interesting bitter-edge than standard espresso. It also costs a fraction of espresso-grade arabica.
Where to source kopi-O in Malaysia
Kopitiams: any traditional Malaysian-Chinese kopitiam will serve fresh kopi-O for RM 1.50 to 3 per cup. Modern chain kopitiams (Old Town and similar) are easy to find; the more characterful kopi-O usually comes out of the sock filter at a long-running independent shop.
Loose ground kopi-O: Boh, Cap Kapal Api, Aik Cheong, Yu Kee, Liang Kee all sell butter-roasted kopi-O powder in 500g packs. RM 12 to 25 per pack. Use a sock filter, French press, or pour-over.
Whole bean kopi-O: rarer in supermarkets but available from specialty roasters (Kuala Lumpur Coffee Co., Coffex). Roast your own pour-overs.
Bottled cold kopi-O: Boh and others sell pre-bottled cold-brewed kopi-O. Use only if you cannot brew fresh; bottled versions have flavour and preservatives that change the cocktail.
How to prep kopi-O for cocktails
Cold-brewed kopi-O (the standard). 80g kopi-O grounds in 1L cold water. Steep 12 to 18 hours in fridge. Strain through paper coffee filter or sock filter. Refrigerate the strained brew up to 7 days. The cold brew is less bitter, more chocolate-coded, and the right concentration for cocktails (about 5x stronger than drinking kopi-O).
Hot-brewed kopi-O. Standard sock-filter brew (the kopitiam method) at drinking strength. Use immediately; do not refrigerate hot brew, the flavour degrades fast.
Kopi-O syrup. 1:1 ratio cold-brewed kopi-O concentrate to gula melaka. Heat gently to combine. Keeps refrigerated 2 weeks. The all-in-one Malaysian Espresso Martini base.
Espresso substitution. One shot of fresh-brewed kopi-O (30ml) replaces one espresso shot in any classic recipe. Espresso Martini becomes Kopi-O Martini. Carajillo becomes Kopi Carajillo.
Best cocktails with kopi-O
Kopi Sour: whisky, cold kopi-O, gula melaka, lemon, egg white. The Malaysian whisky sour. Recipe.
Kopi-O Espresso Martini: vodka, cold kopi-O, kahlua, gula melaka syrup. Heavier-bodied than the standard.
Kopi Old Fashioned: bourbon stirred over kopi-O syrup with chocolate bitters.
Kopi Carajillo: hot kopi-O with Licor 43, served warm. The Malaysian afternoon pick-up.
Cold-Brew Kopi Highball: Japanese whisky, cold kopi-O, soda, lemon twist. Long and bittersweet.
Substitutions
- Strong dark-roast espresso is the closest substitute. Less buttery, more standard.
- French-press dark-roast coffee at 2x normal strength.
- Vietnamese cà phê sữa đá brew (sock-filtered robusta) is in the same register.
Related reading
- Malaysian kopi explained (the full kopitiam lexicon)
- Kopi Sour recipe
- Kopi Negroni recipe
- Espresso Martini recipe
- Gula melaka ingredient page
- Coffee cocktails in Malaysia
- Robusta for coffee cocktails
Frequently asked questions
What does kopi-O taste like in cocktails?
Kopi-O reads as dark, bittersweet, and slightly buttery, with a sharper edge than Western arabica espresso and a cocoa-adjacent finish. The Hainanese butter-and-sugar roast adds a faint margarine-cream character that softens the bitterness. In cocktails it gives more body and a more interesting bitter-edge than standard espresso, at a fraction of the cost.
Where can I buy kopi-O in Malaysia?
Any traditional kopitiam serves fresh kopi-O for RM 1.50 to 3 per cup. For ground packs, Boh, Cap Kapal Api, Aik Cheong, Yu Kee, and Liang Kee sell butter-roasted kopi-O in 500g packs at RM 12 to 25 at Mydin, AEON, and most supermarkets. Whole bean is rarer, available from specialty roasters like Kuala Lumpur Coffee Co. and Coffex.
What can I substitute for kopi-O?
Strong dark-roast espresso is the closest substitute, though it loses the butter character. French-press dark-roast coffee at twice normal strength approximates the body. Vietnamese ca phe sua da brew (sock-filtered robusta) sits in the same register. None of these match the Hainanese roast, but they all work for the basic Espresso Martini swap.
Which cocktails use kopi-O?
Our Kopi Sour (whisky, cold kopi-O, gula melaka, lemon, egg white) is on at both PJ outlets year-round. We also run a Kopi-O Espresso Martini, Kopi Old Fashioned, Kopi Carajillo (hot kopi-O with Licor 43), and a Cold-Brew Kopi Highball with Japanese whisky. The cold brew runs daily.
How long does kopi-O keep?
Cold-brewed kopi-O concentrate keeps up to 7 days refrigerated in a sealed bottle. Hot-brewed kopi-O degrades fast and should be used the same day. Kopi-O syrup (1:1 with gula melaka) keeps 2 weeks refrigerated. Whole ground packs keep 6 months sealed; once opened, freeze for best aroma retention.