Cendol.
Penang Shaved Ice with Pandan Noodles
Cendol · Chendul · say it: CHEN-dol
Cendol is a bowl of shaved ice with short green noodles buried in it, made from rice flour coloured and scented with pandan leaf, sitting in coconut milk that has been salted rather than sweetened, with a dark palm-sugar syrup poured over the top. The syrup is the flavour: gula melaka is smoky and mineral, closer to molasses than to caramel, and it stripes down through the ice as it melts. The noodles are slippery and barely sweet, the coconut milk is savoury, and cooked red beans sit at the bottom. It takes about four minutes to eat and roughly the same to fall apart.


- Gate
MalaysiaPenang- Prep
- 25 min
- Cook
- 20 min
- Total time
- 1 hr 15 min incl. 30 min rest
- Serves
- 4
- Status
- Easy
- Nutrition / serving · estimated
- Calories 380 kcal
- Protein 4 g
- Carbs 62 g
- Fat 15 g
- Fiber 3 g
- Sugar 47 g
Why this recipe works.
- Fresh pandan juice, blended and strained, rather than a bottle of green colouring pretending to be a herb.
- Coconut milk is warmed with salt and cooled, so the salt actually dissolves through instead of sitting on the tongue in grains.
- A press-through method that works with an ordinary colander, with the hole size that gets the strands right.
- Assembly order given deliberately, because cendol built in the wrong sequence is watery before it reaches the table.
Ingredients.
15 itemsFor the pandan strands
For the gula melaka syrup
For the coconut milk
To serve
Equipment
- Blender (for the pandan juice)
- Fine sieve or muslin cloth
- Colander or steamer insert with 4–5 mm holes
- Large bowl for the ice bath
- Ice shaver, or a blender that will handle ice
Instructions.
Extract the pandan juice
Blend the cut pandan leaves with 200 ml water for a full minute, until the leaves are shredded to pulp and the water is deep, dull green. Strain through muslin or a fine sieve, squeezing hard, and discard the fibres. You want roughly 150 ml of grassy green liquid that smells of cut lawn and coconut.
Tip Fresh pandan juice is olive-green, not neon. If yours looks like the colour of shop cendol, that is dye, not pandan.
Cook the batter until it seizes up
Whisk the rice flour, tapioca starch and salt with 350 ml water and the pandan juice in a saucepan until completely smooth. Cook over medium heat, whisking without stopping, for 4–6 minutes: it stays thin, then thickens abruptly into a stiff, glossy paste that holds the whisk's trail. Keep it moving for one more minute so the starch cooks through.
Tip The moment it thickens is fast and total. Do not step away from the pan.
Press the strands into ice water
Set the colander over a large bowl of ice water. Spoon in a ladle of the hot paste and push it through the holes with a spatula so the strands drop straight into the ice — they set on contact, firm up and sink. Work in batches; if the paste stiffens in the pan, put it back over low heat for a minute to loosen.
Rest and drain the strands
Leave the strands in the ice water for 15 minutes until they are cold and firm and slip against each other. Drain them and keep them refrigerated in a little cold water until you assemble.
Make the gula melaka syrup
Melt the chopped palm sugar with 120 ml water and the knotted pandan over low heat, stirring, until fully dissolved, then simmer 3–4 minutes to a syrup that coats a spoon but still runs off it freely. Strain out the grit and pandan, and cool completely — it thickens noticeably as it drops in temperature.
Salt the coconut milk
Warm the coconut milk with 100 ml water and the salt over low heat just until it steams, stirring so the salt dissolves fully. Do not let it boil, which splits it into oil and curds. Cool it right down, then taste: on its own it should be creamy and clearly salty, almost like a soup base.
Build the bowls in order
Spoon the red beans into the bottom of four tall glasses or bowls, pile the cold strands on top, then mound shaved ice over them until it stands above the rim. Pour the salted coconut milk over the ice so it soaks down through, and pour the gula melaka syrup last, in a slow spiral, so it stays visible in dark ribbons.
Serve immediately
Hand each bowl over the moment it is built, with a spoon. Tell people to stir it once and then eat — the ice starts collapsing into the syrup within a couple of minutes and the whole thing is a drink by the ten-minute mark.
Tips from our kitchen.
- Whisk the batter constantly. It stays liquid, stays liquid, then thickens all at once — walk away for twenty seconds and you get lumps you cannot press through anything.
- The water underneath the colander has to be genuinely icy, with cubes still floating in it. Cool water lets the strands slump into blobs instead of setting on contact.
- Work fast and in small batches. Batter that cools in the pan turns stiff and refuses to go through the holes — put it back on low heat for a minute and it loosens again.
- Salt the coconut milk until it tastes slightly too salty on its own. Once it is under ice and syrup, anything less disappears completely.
- Shave or crush the ice to snow. Cubes leave gaps that fill with syrup and give you three sweet mouthfuls and a lot of nothing.
- Pour the syrup last and pour it at the table, so it is still sitting in dark seams through the ice rather than dissolved into the bottom.
Substitutions.
- Fresh pandan leaves → 1 tsp pandan paste or extract, with the blending water added plain
- Be honest about the trade: extract gives a brighter, more artificial green and a flatter, slightly vanilla-ish flavour. Frozen pandan leaves from an Asian grocer beat extract easily and cost almost nothing.
- Gula melaka → Dark palm sugar, or muscovado sugar with 1 tbsp molasses stirred in
- Gula melaka is smokier and less sweet than brown sugar. Plain white or light brown sugar makes a syrup that is sweet and characterless.
- Red beans → Cooked sweetcorn, or nothing at all
- Beans are the Penang default and sweetcorn the southern one. Leaving the bottom of the glass empty is perfectly normal in many stalls.
Variations.
- Cendol pulut
- A spoonful of warm steamed glutinous rice goes in under the strands, which makes the bowl substantial enough to count as lunch in hot weather.
- Durian cendol
- A blob of durian flesh dropped on top in season. Common in Penang, and the version that splits a table in half within one spoonful.
- Es dawet
- The Javanese relative: often made with rice or sago flour, sweeter coconut milk, and sometimes a splash of jackfruit syrup served over more ice than cendol uses.
Storage & reheating.
The finished bowl does not keep at all — it is liquid within fifteen minutes. The components, on the other hand, hold well: keep the drained strands submerged in cold water in the fridge for up to two days, changing the water once, and they stay firm. The gula melaka syrup keeps two weeks refrigerated and thickens as it chills, so let it come back to room temperature or loosen it with a spoon of hot water before using. Salted coconut milk keeps three days covered in the fridge and should be stirred before pouring, since it separates. Do not freeze the strands: they turn spongy and shed starch into the coconut milk.
Serve with
Nothing. Cendol is eaten alone in the middle of the afternoon, usually standing up, usually in the heat.
The story behind Cendol.
Cendol is eaten across Southeast Asia and nobody owns it. Java has dawet, which is older in the written record and often made with rice flour or sago; Malaysians and Singaporeans have cendol; Thailand has lod chong, Vietnam bánh lọt, Myanmar mont let saung. Periodically a Malaysian or Indonesian tourist board claims it and the internet has a week-long argument. The honest answer is that a rice-flour strand, coconut milk and palm sugar are a regional idea that predates any of the borders now being defended, and the interesting differences are local: what the strands are made of, whether the coconut milk is salted, what goes at the bottom of the glass.
Penang built its reputation on the details. There it is usually spelled chendul, the strands are made short and thick, red beans are standard rather than optional, and the coconut milk is salted firmly enough that the first spoonful reads savoury before the syrup catches up. The island is also where cendol became a queueing dish — a handful of stalls in George Town, some of them working out of alleyways off Penang Road, are known well beyond the state, and the queue in the heat is part of the story people tell about eating it. Elsewhere in Malaysia the bowl varies: sweetcorn is common in the south, glutinous rice appears under the ice in some stalls, and durian cendol turns up in season and divides opinion violently.
What does not vary is the physics. Cendol is a dessert with a clock on it. Shaved ice melts against warm syrup, the coconut milk thins, and within ten minutes a properly built bowl is a puddle. Stalls therefore assemble in a fixed order and hand it over immediately — beans, strands, ice, coconut milk, syrup last so it is still visible in dark ribbons when the bowl reaches you. Eating it standing up next to the stall is not a lack of manners. It is the only way to get it at full strength.
Questions, answered.
Do I need a special cendol press?
No. A metal colander or a steamer insert with holes around 4–5 mm across does the same job — you push the hot batter through with a spatula or the back of a ladle and it drops into ice water below. Traditional presses are simply a plate of that hole size with a handle. What matters is that the holes are round and not too fine; a fine mesh sieve produces threads that break up instantly.
Why did my strands come out as short broken bits instead of noodles?
Usually the batter was undercooked and too thin, so it had no structure and fell apart on contact with the water. It needs to be genuinely stiff and glossy before it goes through the holes — thick enough that the whisk leaves a trail that stays put. Short, tadpole-shaped pieces about two centimetres long are correct, though; cendol strands are not meant to be long noodles.
Can I use pandan extract instead of fresh leaves?
Yes, and plenty of home cooks do. Use about a teaspoon in place of the pandan juice and make up the liquid with plain water. The result is greener and sweeter-smelling than the real thing, which has a grassy, faintly coconut-like aroma that extract does not reproduce. Frozen pandan leaves are widely sold in Asian supermarkets and blend just as well as fresh.
Where does cendol actually come from?
It is a shared Southeast Asian dessert with no single origin. Java has a very old version called dawet, Malaysia and Singapore have cendol, and close relatives exist in Thailand, Vietnam and Myanmar. Malaysian and Indonesian claims to it flare up periodically online, but the components — rice flour strands, coconut milk, palm sugar — are older than the modern borders, and each place has developed its own recognisable style.
Why is the coconut milk salted rather than sweetened?
Because the sweetness comes entirely from the palm sugar syrup, and without salt the bowl tastes flat and one-dimensional. Salted coconut milk is what gives cendol its characteristic push and pull — the first spoonful reads savoury and creamy, the syrup arrives behind it. This is a deliberate structural choice across Malaysian and Indonesian versions, not a regional oddity.
Can I prepare cendol in advance for guests?
Prepare all three components ahead and assemble at the last second. Strands keep two days in cold water in the fridge, the syrup keeps two weeks, and the salted coconut milk keeps three days. Set them out with a bowl of shaved ice and let people build their own, because a cendol assembled even ten minutes early arrives at the table as a warm, diluted drink.
You might also like.
All recipes →Keep exploring Malaysia.
Malaysia has 9 more dishes in the atlas — Acar Awak and Asam Laksa, and 7 more.
Recipe by The DishRoute Kitchen · published August 20, 2026 · updated August 20, 2026



