When the lid comes off the steamer, the steam thins over five heaps of sticky rice sitting side by side. One is purple, one yellow, one green, one a deep orange-red and one plain white, each kept apart by a strip of banana leaf. This is xôi ngũ sắc, the five-color rice that the mountain communities of northern Vietnam set out for Tết, weddings, a new house, the harvest and the offering to the ancestors. The grains are glossy and tender. The green carries the sweet smell of pandan, the yellow an earthy turmeric note with almost no heat, the red the soft fruitiness of gấc, and the purple a faint leafy scent, with coconut milk and a little salt holding the dyed portions together.
Five Colors From the Northern Hills
Xôi is the everyday Vietnamese word for steamed glutinous rice, and ngũ sắc means "five colors." This version belongs to the Tày, Nùng and Thái peoples of the northern uplands of Vietnam, where it is tied to their beliefs and customs. It is made for festivals, weddings, Tết, ancestor offerings and for welcoming honored guests, and it is served warm, often as the centerpiece of the tray. The rice prized for it in the north goes by names such as nếp cái hoa vàng and nếp ngỗng.
Xôi covers every kind of steamed sticky rice, from a plain white portion to this festive platter. Ngũ sắc means "five colors," and on the tray the rice is pressed into a five-petal flower, a mountain, terraced fields or stacked layers.
What the colors stand for
The five colors are matched to the five elements, but the matching shifts from place to place. Most accounts agree on white for metal, green for wood, yellow for earth and red for fire. Water goes to purple in some communities and to black in others. Alongside the elements, each color carries a plainer wish.
| Color | Element | What it wishes for |
|---|---|---|
| Red | Fire | Luck, energy, strength |
| Yellow | Earth | Wealth, prosperity |
| Green | Wood | Freshness, hope, life |
| Purple | Water (black in some places) | Sincerity, affection, gratitude |
| White | Metal | Purity, brightness, a new beginning |
No village holds the one correct reading. Meanings drift between communities, and so do the hands that make it. In some Tày villages, a few people known for good color are asked by their neighbors to dye the rice for weddings and festivals, and among the Giáy of Lào Cai the women go up into the hills to gather the dye leaves themselves.
North-west and north-east
The plants change with the valley. Among the Thái of the north-west, green comes from pandan, yellow from a local flower or fresh turmeric, and both purple and red come from the leaves of the magenta plant, which grows in two varieties. The red one has narrow leaves; the purple one has broad leaves with thick veins and pale edges. Among the Tày and Nùng of the north-east, red comes from the flesh of the gấc fruit, yellow from turmeric, purple from lá cẩm leaves and green from pandan or other mountain leaves. The home recipe below follows this Tày style. Some lists give yellow to mung beans instead, and newer cooks have added colors beyond the five.
There are finer tricks in the hills too. Ash from burnt glutinous rice straw, worked into the dye, pushes the purple toward violet, and around Bắc Hà a few villages draw one of their shades from the ash of burnt citrus peel. These stay with the people who know them; at home, the plain leaves and fruit are enough.
A festival batch is a big job. A wooden steamer (chõ gỗ) takes about 13 lb (6 kg) of rice at a time and steams it for about 40 minutes. The dye leaves are pounded and simmered for 20–30 minutes, and the rice soaks in them overnight, or for at least 2–3 hours. For smaller amounts, cooks set bamboo racks (vỉ) or a wooden frame with five petal-shaped chambers in the steamer so the colors never touch. If you like the rice dishes of the same mountains, cơm lam cooks sticky rice inside bamboo, and bánh chưng wraps it into the square Tết cake.
Ingredients (serves 4)

The coconut milk goes into each dyed portion along with the dye liquid, not only onto the finished rice, leaving those grains with a little extra moisture and nutty sweetness.
Contains coconut milk. The optional white rice wine contains alcohol. If you swap in pandan paste or extract, read its label.
Equipment
- A large steamer with a cotton cloth to line the basket
- Dividers: banana leaves, baking paper, or low walls of aluminum foil
- Two or three cotton cloths for straining the dyes
- A blender, or a mortar and pestle
- A small saucepan
- Five bowls
- Disposable kitchen gloves
- A five-petal or ring mold (optional)
Choosing and Substituting
The rice matters most. Buy glutinous rice sold for steaming, the kind labeled sticky or sweet rice, and treat the rinse, the soak and the steam with care.
Lá cẩm and gấc are the two hard finds outside Vietnam. Look for both at a shop that names them. For lá cẩm, buy it fresh or frozen, and check the leaf width, veins and edges before you use it; never dye with a plant you cannot identify. A grated small raw beet stands in for the purple, but the color comes out redder than lá cẩm. Frozen pandan leaves can stand in for fresh, and pandan paste or extract gives the green with less aroma. Replace the fresh turmeric with 2 tsp ground turmeric stirred into the 1 quart (1 L) of water.
| Keep for the taste of the hills | Fine to change abroad |
|---|---|
| Plant, root and fruit dyes only | Banana leaf dividers become baking paper or foil |
| The white portion, salted only | Fresh pandan becomes frozen leaves or paste |
| Five separate heaps that never mix | Fresh turmeric becomes ground |
| Serving the rice warm | Sugar can be left out |
Method
The rice soaks overnight, so start the day before. The next morning, make the three dye liquids while the rice is still soaking, then prepare the gấc. The dyed rice then soaks for about 3 hours, which is the long hands-off stretch, and the steaming itself runs in two rounds, the first of them 30 minutes over high heat.
The gấc flesh goes into the rice raw. Wash the fruit well, and wash your hands, board and knife before you open it. When you lift the steamer lid, tilt it away from you so the steam rolls off the far side.
Let the purple liquid cool fully before it touches the rice.
Set the white rice in the center with the four colors around it. This is how the platter is laid out at a festival, and the white makes every other color look brighter.
When It Goes Wrong
| What you see | Why | What to do |
|---|---|---|
| Pale or patchy color | The dyed rice soaked for less than 3 hours, or the lá cẩm left the pan early | Soak the dyed portions for the full 3 hours before steaming, and simmer the lá cẩm for the full 10 minutes |
| Colors run into each other | Heaps touching, or no dividers | Separate every section with banana leaf, paper or foil before the rice goes in |
| Purple comes out red | Beet was used in place of lá cẩm | Expect a red-purple with beet; use real lá cẩm for a true purple |
| Grains still hard after the first steam | The first 30 minutes is only half the cooking | Loosen, sprinkle water on dry spots and steam until soft |
| Finished surface dry | The top grains dried in the steam | Sprinkle with coconut milk instead of water |
| One side cooks faster than the other | The rice was packed with no gaps and the steam is blocked | Leave gaps between heaps so steam can rise evenly |
Serving, Variations and Storage
At the table

Put the platter in the middle and let everyone take a spoonful of each color. Sesame salt in a small dish is the classic partner, and Vietnamese pork sausage (lạp xưởng) or grilled meats turn it into a full meal. It belongs to the days that mark something, a new year, a wedding, a family gathering for the ancestors, and it is eaten while still warm.
Variations
- Mountain or terraced fields. Mound the colors into one peak or press them into stepped tiers; the taste stays the same and the platter takes on the shape of the hills.
- Stacked layers. Press the colors one on top of another in a deep mold and slice it, so each piece shows all five bands.
- North-western leaf version. Use the red variety of magenta plant leaves for the red in place of gấc; the fruity gấc aroma is gone.
Storage and reheating
Cooked rice can carry Bacillus cereus, whose spores survive 30 minutes at 212°F (100°C), so reheating will not undo time spent sitting warm. Avoid leaving the rice out at room temperature. Make only what you will eat and eat it promptly. Divide leftovers into small portions, cool them quickly and keep them at 46°F (8°C) or below, or hold them hot at 131°F (55°C) or above. Reheat in the steamer until hot all the way through.
Frequently Asked Questions
Is xôi ngũ sắc sweet?
Only lightly. The sugar and coconut milk go into the three dyed portions, while the white and the gấc portions carry salt alone. Leave the sugar out and the whole platter becomes savory, which suits sausage and grilled meat even better.
Can I make a smaller batch?
Yes. Scale every ingredient by the same ratio so the salt, coconut milk and dye strength stay in balance. If your steamer holds only three heaps, white plus two colors makes a pleasant stand-in, but the festive dish is always five.
Do I need the rice wine for the gấc?
It loosens the flesh so it slides off the seeds more cleanly. Without it, work the flesh off with gloved fingers a little more patiently.
Are all the colors really from plants?
Yes. Every color comes from leaves, roots or fruit, and the white is the rice itself. Newer cooks have added colors beyond the classic five, but the festival platter of the mountains keeps to plant dyes.















